Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Bład w edycji formularza
Forum PHP.pl > Forum > Przedszkole
Deen
Witajcie, proszę o pomoc w edycji skryptu. Niby powinno działać a cały czas wykakuje mi komunikat ze nie udało sie zedytować bazy. Pisałem już kilka razy skrypt od poczatku z nadzieja ze tylko nie widze bledu a jest oczywisty ale za każdym razem to samo:( Proszę o pomoc.
  1. <div id="box_menu"><div id="box_center">
  2. <?php
  3. $nazwa=$_GET['what'];
  4. $id=$_GET['edit'];
  5. $zapytanie = "SELECT * FROM $nazwa"; $menu = mysql_query($zapytanie) or die ('Błąd: ' . mysql_error());
  6.  
  7. //EDYTUJ
  8. if ($_GET['edit']) {
  9. $zapytanie1 = "SELECT * FROM $nazwa WHERE id=$id"; $menu1 = mysql_query($zapytanie1) or die ('Błąd: ' . mysql_error());
  10. $edytuj = mysql_fetch_assoc($menu1);
  11. echo '<p>Edytuj produkt</p><br>';?>
  12. <form action="index.php?page=pokaz&what=<?php echo $nazwa; ?>&edit=<?php echo $id;?>" method="POST">
  13. ID: <input readonly name="id" value="<?php echo $edytuj['id'] ?>" size="2"/>
  14. Nazwa: <input name="nazwa" value="<?php echo $edytuj['nazwa'] ?>" size="40" />
  15. Cena: <input name="cena" value="<?php echo $edytuj['cena'] ?>" size="4" />
  16. <input type="submit" name="zmien" value="Zmień" />
  17. <input type="reset" value="Resetuj" />
  18. </form>
  19. <?php
  20. if ($_POST['zmien']) {
  21. $zapytanie2 = "UPDATE produkty SET nazwa='".$_POST['nazwa']."', cena=" . $_POST['cena'] . " WHERE id=$id";
  22. $produkt2 = mysql_query($zapytanie2);
  23. if ($produkt2)
  24. echo "<p>Aktualizacja powiodła się</p>";
  25. else
  26. echo "<p>Aktualizacja nie powiodła się!</p>";
  27. }
  28. }
  29. //WYŚWIETLANIE LISTY
  30. echo "<ul>";
  31. while ($rekord = mysql_fetch_assoc($menu)) { ?>
  32. <li><?php echo $rekord['nazwa']; ?> | <a href="index.php?page=pokaz&what=<?php echo $nazwa; ?>&edit=<?php echo $rekord['id'];?>">Edytuj</a></li>
  33. <?php } ?>
Berg
Jeśli jakieś zapytanie się nie wykonuje to przydałoby się użyć mysql_error winksmiley.jpg

PS: Słyszałeś kiedyś coś o filtrowaniu danych z formularzy?
A może coś o SQL Injection?
Deen
Wyskakuje mi:Bł±d: 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 '00 WHERE id=1' at line 1
Jak to naprawić.
cojack
więc domyśleć się można z Twojego komunikatu że masz
  1. SELECT * FROM 00 WHERE id=1;


masz taką tabelę 00 ?

Zacznij ziomuś filtrować te gety, pewnie sam nie wiesz co pobierasz i skąd ;p
Deen
Cały dzień nad edycją siedzę:(
Teraz mam taki kod:
  1. $wstawid=$_POST['id']; $wstawkategoria=$_POST['kategoria']; $wstawnazwa=$_POST['nazwa']; $wstawcena=$_POST['cena']; $wstawnotatka=$_POST['notatka'];
  2. $zapytanie = "UPDATE $wstawkategoria SET nazwa=$wstawnazwa, cena=$wstawcena WHERE id=$wstawid";
  3. $produkt = mysql_query($zapytanie) or die ('Błąd: ' . mysql_error());


i mysql_error() zwraca mi 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 'SET nazwa='', cena= WHERE id=' at line 1
Proszę, poprawcie ten kod tak żeby edytował te rekordy
cojack
Nazwa musi być w apostrofach. Nie wiem co masz za typ pola w cena, i widocznie nie przesyłasz wszystkiego przez te posty, bo są puste zmienne, z tego co widać w błędzie, albo masz źle ponazywane posty, sprawdź ponownie.
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.