Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: insert do bazy
Forum PHP.pl > Forum > Przedszkole
cfkr
Witam, czy moglby ktos sie przyjrzec temu skryptowi? co z nim jest nie tak?. Wyswietla sie dobrze.. pobiera i wstawia w formularz dane./.. ale po edycji(lub nie) i wyslaniu pokazuje sie błąd:

Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public/snoopy/chkim.php on line 19


Oto skrypt:

  1. <html>
  2. <head>
  3. <title>Edycja działu "Kim jesteśmy"</title>
  4. </head>
  5. <body>
  6. <?php
  7. include("config.php");
  8. if (!IsSet($stage))
  9. {
  10. $_GET['id'];
  11. mysql_connect($host, $name, $pass)
  12. or die("nieudane polaczenie z bazą danych");
  13. mysql_select_db($dbname);
  14.  
  15. $result = mysql_query('
  16. SELECT *
  17. FROM kimjestesmy
  18. where ID = '.$_GET['id'].';');
  19. $kRow = mysql_fetch_array($result);
  20. $kID = $kRow['ID'];
  21. $kTytul = $kRow['tytul'];
  22. $kTresc = stripslashes($kRow['tresc']);
  23. ?>
  24. <form method="post" action="<?php print("$PHP_SELF");?>">
  25. Tytuł:
  26. <input type=text name="kTytul" size=20 value="<?php print($kTytul); ?>"><br>
  27. Zawartość strony:
  28. <textarea name="kTresc" cols=50 rows=15><?php print("$kTresc"); ?>
  29. </textarea><br>
  30. <input type=hidden name="kID" value="<?php echo $kID; ?>">
  31. <input type=submit>
  32. </form>
  33. <?php
  34. }
  35. else
  36. {
  37. mysql_connect($host, $name, $pass)
  38. or die("nieudane polaczenie z bazą danych");
  39. mysql_select_db($dbname);
  40. $result = mysql_query("UPDATE kimjestesmy SET tytul = $kTytul, tresc = kTresc WHERE ID = $kID");
  41. if($result > 0)
  42.  print("error.n");
  43. else
  44.  print("OK! .n");
  45. }
  46. ?>
  47. </body>
  48. </html>
SongoQ
Temat ten powtarza sie co 2 dzien. Zobacz sobie na zapytanie dane typu string powinny byc w apostrofach.
matipl
czyli np.:

$result = mysql_query("UPDATE kimjestesmy SET tytul = '$kTytul', tresc = '$kTresc' WHERE ID = $kID");

(na czerwono zaznaczyłem co dodałem, jeśli byś nie zauważył zmian, czyli był też bug, bo któs zjadł dolara)
cfkr
kurcze.. nic.. bez zmian :/
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public/snoopy/chkim.php on line 19

aktualnie wyglada tak:
  1. <html>
  2. <head>
  3. <title>Edycja działu "Kim jesteśmy"</title>
  4. </head>
  5. <body>
  6. <?php
  7. include("config.php");
  8. if (!IsSet($stage))
  9. {
  10. $_GET['id'];
  11. mysql_connect($host, $name, $pass)
  12. or die("nieudane polaczenie z bazą danych");
  13. mysql_select_db($dbname);
  14.  
  15. $result = mysql_query('
  16. SELECT *
  17. FROM kimjestesmy
  18. where ID = '.$_GET['id'].';');
  19. $kRow = mysql_fetch_array($result);
  20. $kID = $kRow['ID'];
  21. $kTytul = $kRow['tytul'];
  22. $kTresc = stripslashes($kRow['tresc']);
  23. ?>
  24. <form method="post" action="<?php print("$PHP_SELF");?>">
  25. Tytuł:
  26. <input type=text name="kTytul" size=20 value="<?php print($kTytul); ?>"><br>
  27. Zawartość strony:
  28. <textarea name="kTresc" cols=50 rows=15><?php print("$kTresc"); ?>
  29. </textarea><br>
  30. <input type=hidden name="kID" value="<?php echo $kID; ?>">
  31. <input type=submit>
  32. </form>
  33. <?php
  34. }
  35. else
  36. {
  37. mysql_connect($host, $name, $pass)
  38. or die("nieudane polaczenie z bazą danych");
  39. mysql_select_db($dbname);
  40. $result = mysql_query("UPDATE kimjestesmy SET tytul = '$kTytul', tresc = '$kTresc' WHERE ID = $kID");
  41. if($result > 0)
  42.  print("error.n");
  43. else
  44.  print("OK! .n");
  45. }
  46. ?>
  47. </body>
  48. </html>
hwao
  1. <?php
  2. $result = mysql_query("UPDATE kimjestesmy SET tytul = $kTytul, tresc = kTresc WHERE ID = $kID");
  3. ?>

===
  1. <?php
  2. $result = mysql_query("UPDATE 'kimjestesmy' SET `tytul` = '{$kTytul}', `tresc` = '{kTresc}' WHERE `id` = '{$kID}'");
  3. ?>
matipl
Bo źle nas nakierowałeś tongue.gif

Tutaj nie powinno być średnika na końcu exclamation.gif To nie konsola klienta mysql

  1. <?php
  2.  
  3. $result = mysql_query('SELECT *FROM kimjestesmywhere ID = '.$_GET['id'].';');
  4.  
  5. ?>


Powinno wyglądać tak (jeszcze dodatkowo 2 spacje):

  1. <?php
  2.  
  3. $result = mysql_query('SELECT * FROM kimjestesmy where ID='.$_GET['id']);
  4.  
  5. ?>
Ociu
Swoją drogą proponował bym łączenie się z baza danych wyciągnąć przed warunek. W przydku gdy warunek wzraca true łaczysz się i gdy false także się łączy.
  1. SELECT *
  2. FROM kimjestesmy WHERE ID='.$_GET['id'].'

  1. UPDATE kimjestesmy SET tytul = '".$kTytul."', tresc = '".$kTresc."' WHERE ID = ".$kID."
cfkr
Zadzialalo:) średnik smile.gif Thx
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.