Napisałem prosty skrypt aktualizacji danych w bazie danych no i nie wiem dlaczego nie działa. Jeżeli ktoś wie dlaczego to prosze o pomoc.
[glowa] [glowa] [glowa]
Zrob:
echo mysql_error();
To Ci wyswietli przyczyne bledu.
<?
error_reporting(E_ALL); //to by się przydało...
$wynik=mysql_pconnect("localhost", "", ""); /*nie ma użytkownika i hasła (może dlatego nie łączy) a poza tym może wystarczy mysql_connect*/
mysql_select_db("uzytkownik");
$zapytanie = "update uzytkownik
set imie='$imie', /* ja to robię jakoś tak : set imie='".$imie."' */
nazwisko ='$nazwisko',
data_ur = '$dataur',
where nazwisko='Kowalski'"; /*może dlatego, że zmieniasz nazwisko a po nim szukasz rekordu? szukaj po jakimś identyfikatorze */
$wynik = @mysql_query($zapytanie); /*bez @ i będzie błędy pokazywało!*/
echo "Twój profil został zaktualizowany";
?>
A skąd bierzesz zmienne do postu? Jak z formularza może musisz odwoływać się poprzez tablice globalne $_POST["imie"] zamiast $imie bo nie masz register_globals ustawionego na on (np. nowe PHP > 4.1.3)
no i ewentualnie mysql_error() żeby błąd zobaczyć...
[Dopisek] Ale dziwne kolorowanie... U mnie w notatniku SP to inaczej wygląda :)
Zrobiłem wszystko- błędów nie pokazuje oraz w dalszym ciągu nie aktualizuje rekordu. Ale i tak dzięki.
;-| ;-| ;-|
Może ktoś widział gdzieś jakiś prosty przykład wykorzytania updata w php?Za pomoc będe naprawde wdzięczny.
:-| :-| :-|
Ale jaka w tym jest filozofia? Tutaj: www.mysql.com
skladnia: UPDATE tabela SET kolumna="nowa wartosc"
W powyzszym przypadku zostana aktualizowane wszystkie rekordy w danej tabeli. Mozesz tez uzywac warunku WHERE:
UPDATE tabela SET kolumna="wartosc" WHERE id = 1
Zaktualizuje wszystkie rekordy, w ktorych kolumna id = 1.
where nazwisko='Kowalski'"; /*może dlatego, że zmieniasz nazwisko a po nim szukasz rekordu? szukaj po jakimś identyfikatorze */
No tu się nie zgodzę, bo mysql najpierw wyszukuje w tabeli wiersz, gdzie nazwisko = ... a później dopiero ten wiersz modyfikuje...
Czeski błąd już wszystko działa.
[wstyd] [wstyd] [wstyd]