Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Aktualizacja wybranego rekordu
Forum PHP.pl > Forum > Przedszkole
zientek18
Witam ponownie, mam nowy problemik mianowicie sprawa przedstawia się następująco chcę wysłać zmienną do bazy danych (aktualizować ją)

Mam błąd tylko nie wiem gdzie. Tabela ma dwa pola id i zaw.
Chcę zrobić update dla pola id = cennik i zmienić pole zaw dla tego id

  1. <?php
  2. if(isset($_POST['kod']))
  3. {
  4.    $tekst = $_POST['kod'];
  5.    
  6.    $dodaj = "UPDATE page(id, zaw)
  7.        VALUES (cennik, '$tekst')";
  8.    $wynik = mysql_query($dodaj) or die(mysql_error());
  9. }
  10. ?>


Pozdr
_olo_1984
nie wiem czy dobrze rozumiem, ale chyba id raczej powinno być typu int. Pozatym jak robisz update to musisz wskazać, który rekord (chyba że wszystkie), więc zapytanie powinieneś konstruować w stylu:
  1. UPDATE page SET zaw="cos" WHERE id=jakis_id

pozatym nie napisałeś jaki błąd dostajesz ...
pozdr
zientek18
Cytat(_olo_1984 @ 26.06.2009, 11:32:14 ) *
nie wiem czy dobrze rozumiem, ale chyba id raczej powinno być typu int. Pozatym jak robisz update to musisz wskazać, który rekord (chyba że wszystkie), więc zapytanie powinieneś konstruować w stylu:
  1. UPDATE page SET zaw="cos" WHERE id=jakis_id

pozatym nie napisałeś jaki błąd dostajesz ...
pozdr


Napisałem coś takiego

  1. <?php
  2. if(isset($_POST['kod']))
  3. {
  4.    $tekst = $_POST['kod'];
  5.    
  6.    $dodaj = "UPDATE SET zaw = $tekst WHERE id = cennik";
  7.    $wynik = mysql_query($dodaj) or die(mysql_error());
  8. }
  9. ?>


I wyskakuje 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 'SET zaw =
skowron-line
  1. <?php
  2. if(isset($_POST['kod']))
  3. {
  4.   $tekst = $_POST['kod'];
  5.  
  6.   $dodaj = 'UPDATE SET zaw ="'. $tekst .'" WHERE id = cennik';
  7.   $wynik = mysql_query($dodaj) or die(mysql_error());
  8. }
  9. ?>


stringi trzeba objąć w " + brak podanej tabeli smile.gif
_olo_1984
  1. <?php
  2. $dodaj = 'UPDATE page SET zaw="'.$tekst.'" WHERE id="cennik"';
  3. ?>

żebyś już mógł sobie skopiować :-)
zientek18
Okej działa, sorka za zamieszanie! Dziekuje!
piotrooo89
"UPDATE SET zaw = ".'$tekst'." WHERE id = cennik";

!=

'UPDATE page SET zaw="'.$tekst.'" WHERE id="cennik"';

kurcze chłopie nie będziemy po Tobie poprawiać każdej dupereli.
lukasamd
Dodajmy jeszcze, że $_POST['kod'] nie ulga żadnemu obrabianiu w celu zabepieczenia, a to niezbyt dobre rozwiązanie.

Warto więc zrobić:

  1. <?php
  2. $tekst = mysql_escape_string($_POST['kod']);
  3. ?>
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.