Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: b³ad w zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
3miel
Mam taki formularz:
  1. <? 
  2. if(isset($_POST['edycja'])){ 
  3. echo '<form action=viewa.php method=post>'; 
  4. echo '<input type=hidden name=id value=10>'; 
  5. echo '<input type=hidden name=upraw value=4>'; 
  6. echo '<input type=hidden name=mod value=8>'; 
  7. foreach($_POST['option'] as $ng) 
  8. { 
  9. $zapytanie=&#092;"SELECT * FROM sms_ng WHERE ng='$ng'\"; 
  10. $wykonaj=mysql_query($zapytanie); 
  11. while($pole = mysql_fetch_array($wykonaj)) 
  12. { 
  13. echo '<table border=0 align=center cellspacing=0 cellpadinng=0>'; 
  14. echo '<tr><td>NG: </td><td><input type=text name=\"ng_n[]\" maxlength=3 size=3 value=\"'.$pole['ng'].'\"><input type=hidden name=\"ng[]\" value=\"'.$pole['ng'].'\"></td></tr>'; 
  15. echo '<tr><td>Model:</td><td><select name=\"model[]\">'; 
  16. $telefony = Array('Nokia', 'Siemens', 'Sony Ericsson', 'Samsung', 'Alcatel', 'Ericsson', 'Motorola', 'Sagem', 'Sendo', 'Mitsubishi', 'Panasonic'); 
  17. foreach($telefony as $telefon){ 
  18. if($telefon == $pole['model']){ 
  19. print(&#092;"<option value=\"$telefon\" selected>$telefon</option>\"); 
  20. }else{ 
  21. print(&#092;"<option value=\"$telefon\">$telefon</option>\"); 
  22. } 
  23. } 
  24. echo '</select></td></tr>'; 
  25. echo '<tr><td>Nazwa:</td><td><input type=text name=\"nazwa[]\" value=\"'; 
  26. echo $pole['nazwa']; 
  27. echo '\"></td></tr>'; 
  28. echo '<tr><td>X <small>(wszystkich)</small>:</td><td><input type=text maxlength=2 size=3 name=\"x[]\" value=\"'; 
  29. echo $pole['x']; 
  30. echo '\"></td></tr>'; 
  31. echo '<tr><td>K <small>(kolumn)</small>:</td><td><input type=text maxlength=2 size=3 name=\"k[]\" value=\"'; 
  32. echo $pole['k']; 
  33. echo '\"></td></tr>'; 
  34. echo '<tr><td>WIDTH <small>(szeroko¶æ)</small>:</td><td><input type=text maxlength=3 size=3 name=\"width[]\" value=\"'; 
  35. echo $pole['width']; 
  36. echo '\"></td></tr>'; 
  37. echo '<tr><td>HEIGHT <small>(d³ugo¶æ)</small>:</td><td><input type=text maxlength=3 size=3 name=\"height[]\" value=\"'; 
  38. echo $pole['height']; 
  39. echo '\"></td></tr>'; 
  40. echo '<tr><td colspan=2 align=center><hr></td></tr></table><br>'; 
  41. } 
  42. } 
  43. echo '<div align=center><input type=submit value=Zapisz> <input type=\"button\" onclick=\"history.back()\" value=\"Wstecz\"></form></div>'; 
  44. ?>

I akcja:
  1. <? 
  2. foreach($_POST['ng'] as $klucz=>$ng) 
  3. { 
  4. $zapytanie=&#092;"UPDATE sms_ng SET 
  5. ng='\".$_POST['ng_n'][$klucz].\"', model='\".$_POST['model'][$klucz].\"', nazwa='\".$_POST['nazwa'][$klucz].\"', 
  6. x='\".$_POST['x'][$klucz].\"', 
  7. k='\".$_POST['k'][$klucz].\"' 
  8. width='\".$_POST['width'][$klucz].\"', 
  9. height='\".$_POST['height'][$klucz].\"', 
  10. WHERE ng='\".$ng.\"'&#092;"; 
  11. $wykonaj = mysql_query($zapytanie) or die ('Nie mo¿na dodaæ! '.mysql_error()); 
  12. } 
  13. ?>

i niestety nie wiem dalczego pojawia sie taki b³ad:
Nie mo¿na dodaæ! You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'width='0', height='0' WHERE ng='3'' at line 1

Struktura tabeli:
ng int(3)
model text
nazwa text
x int(2)
k int(2)
width int(4)
height int(4)

Prosze poórzcie to jest bardzo wazne!
FiDO
Wartosci pol, ktore sa liczbami musisz podawac bez apostrofow. Brakuje Ci tez przecinka przed width = ...

PS. na drugi raz zrob przed mysql_query echo $zapytanie; i pokaz co wyswietla, znacznie latwiej znalezc blad.
3miel
brakowa³o tylko przecinka smile.gif dzieki wielkie smile.gif
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.