Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]UPADTE w PHP+SQL, nie działa zapytanie UPDATE z poziomu php
Forum PHP.pl > Forum > Przedszkole
dyziak
Witam. Mój problem jest następujący. Napisałem prosty kod - system newsów. Wszystkie opcje działają poprawnie, kasowanie, dodawanie, odczytywanie. Problem dotyczy edycji - zapytania sql update.

Symptomy: Edytuje newsa, zmienne tytul i tekst zawierają poprawione w edycji zmienne -tytul, tekst (wiem bo drukuje je po edycji na ekran), ale sama edycja nie zachodzi. News który byl edytowany pozostaje niezmieniony.

Oto kod formularza:

CODE
$id=$_GET['id'];
$link=mysql_query("SELECT * FROM newsy WHERE id='$id'");
$wiersz=mysql_fetch_array($link);
echo ('<b>EDYTUJ</b><br>');
echo
('
<form method="POST" action="panel.php?newsy=wyedytuj&id='.$wiersz['id'].'">
<table border="0" width="100%">
<tr>
<td>Tytuł:</td>
<td><input type="text" name="tytul" size="64" value="'.$wiersz['tytul'].'"></td>
</tr>
<tr>
<td>Treść: </td>
<td><textarea rows="5" name="tresc" cols="42">'.$wiersz['tresc'].'</textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="EDYTUJ"></td>
</tr>
</table>
</form>'
);


A to już kod edycji:

CODE
$tytul=$_POST['tytul'];
$tresc=$_POST['tresc'];
$id=$_GET['id'];

echo ($id);

$sql = "UPDATE newsy SET tytul='".$_POST['tytul']."' tresc='".$_POST['tresc']."' WHERE id='".$_GET['id']."'";
mysql_query($sql);

echo 'Edycja <br> Nowy tytul: <b>'.$tytul.'</b>, Nowa tresc: <b>'.$tresc.'</b>';




tomm
Pola, które mają być zaktualizowane musisz rozdzelić przecinkami
SET tytul='".$_POST['tytul']."' , tresc='".$_POST['tresc']."' WHERE
emajl22
Poza tym nie rozumiem po co w zapytaniu znowu dajesz $_POST['tytul'] itd. Przecież ustawiłeś już to w zmiennych wyżej. A poprawne zapytanie powinno wyglądać tak:

  1. UPDATE newsy SET tytul='$tytul', tresc='$tresc' WHERE id='$id'
dyziak
Cytat(emajl22 @ 28.11.2010, 10:37:31 ) *
Poza tym nie rozumiem po co w zapytaniu znowu dajesz $_POST['tytul'] itd. Przecież ustawiłeś już to w zmiennych wyżej. A poprawne zapytanie powinno wyglądać tak:

  1. UPDATE newsy SET tytul='$tytul', tresc='$tresc' WHERE id='$id'



Masz racje. To wynik mojej desperacji, przekombinowałem :- ) Wcześniej miałem to9 na zwykłych zmiennych : - )


Zamykam temat i bardzo dziękuję Wam za pomoc :- ) (i nie wiem jak moglem nie wpaść na to, ze brakuje przecinka... )
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.