Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: update
Forum PHP.pl > Forum > Przedszkole
adeq_PL
Witajcie.

Stworzylem juz formularz do edycji zawartosci bazki, ale pozostal mi jeszcze tylko skrypt odpowiedzialny za update tabeli...

Mam kod:

  1. <?php
  2.  
  3. if(isset($_POST['zapisz'])) {
  4.  
  5.  $pytaj = "SELECT * FROM str_miej WHERE id_str_miej='".$_POST['id']."'";  
  6.  $dzialaj=mysql_query($pytaj);
  7.  $liczba_kolumn = mysql_num_fields($dzialaj);
  8.  
  9.  $zm=0;
  10.  
  11. for($i=2;$i<=($liczba_kolumn-5);$i++){ 
  12.  
  13.  $zm=$zm+1;  
  14.  
  15.  $update = "UPDATE str_miej SET '".mysql_field_name($dzialaj, $i)."'='".$_POST['tekst'][$zm]."' WHERE id_str_miej='".$_POST['id']."'";
  16.  
  17.  }
  18.  
  19. $q=mysql_query($update); 
  20. if($q) 
  21. {
  22.  
  23. echo "<br><br>Przetworzono <b>".mysql_affected_rows()."</b> wierszy."; 
  24. } 
  25. else 
  26. { 
  27.  
  28.  echo "<br><b>Nie można wykonać zapytania.<br>Powód: ".mysql_error()."</b><br>"; 
  29.  
  30. } 
  31.  
  32. }
  33.  
  34. ?>


Cos jest nie tak z konstrukcja zapytania bo wywala mi blad o tresci:
Cytat
Something is wrong in your syntax obok ''Miasto'='xxx' WHERE id_str_miej='1'' w linii 1


Co moze byc nie tak....
Dzieki za ewentualna pomoc i pozdrawiam smile.gif
babejsza
zamiast:

  1. UPDATE str_miej SET '".mysql_field_name($dzialaj, $i)."'='".$_POST['tekst'][$zm]."' WHERE id_str_miej='".$_POST['id']."'


wpisz:

  1. UPDATE str_miej SET ".mysql_field_name($dzialaj, $i)."='".$_POST['tekst'][$zm]."' WHERE id_str_miej='".$_POST['id']."'
dr_bonzo
Przenioslem na Przedszkole
adeq_PL
oki dzieki juz chodzi wszystko w porzadku...
dzieki babejsza
babejsza
nie ma problemu smile.gif
adeq_PL
Mam jeszcze jedno pytanie odnosnie tego nieszczesnego update....

Co nalezy zrobic, zeby zapobiec wpisywaniu do komorek bazy pustych wartosci, tzn. w przypadku niewypelnienia pola text, w bazie pozostaje uprzednio zapisana wartosc....
Adiasz
Mozesz albo zrobic walidacje formularza i nie uruchamiac skryptu gdy wartosci sa puste albo przed zapytaniem sprawdzac czy wartosc ktora chcesz updateowac jest nie pusta, albo nalozyc w bazie na pola NOT NULLa
adeq_PL
Cytat
albo przed zapytaniem sprawdzac czy wartosc ktora chcesz updateowac jest nie pusta


wlasnie to chcialem zrobic, ale wolalem sie upewnic... dzieki 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.