Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie się nie wykonuje
Forum PHP.pl > Forum > Bazy danych > MySQL
hub3rt
Oto przykład zapytania:
  1. $dod = "INSERT INTO s_users VALUES ('', '".$nick."', '".$pass."', '".$mail."', '".$klub."')";
  2. $spr = mysql_query($dod);


Zapytanie zwraca TRUE - sprawdziłem przez wyświetlenie wartosci zmiennej $spr (dobrze?), ale w bazie nic nie ma... wcześniej sprawdzam czy w bazie nie zdubluje się $nick albo $mail:

  1. $zap = "SELECT * FROM s_users WHERE nick=".$nick;
  2. $spr = mysql_query($zap);

W tym przypadku jeżeli $spr wynosi 1 to znaczy, że nick jest juz zajety i należy wybrać inny. Pomimo wcześniejszego udanego wykonania całego skryptu i teoretycznego umieszczenia zmiennej $nick o odpowiedniej wartosci po ponownej próbie wykonania skryptu nic się nie zmienia. Ten drugi fragment nadal ma wartość 0 a ponowne wykonanie INSERT'a nie napotyka zadnych problemów. Co jest źle?! I o co chodzi? Bo trudno jest mi to zrozumiec...
kociupk
powinno byc tak
  1. $zap = "SELECT * FROM s_users WHERE nick='".$nick.'"";
  2. $spr = mysql_query($zap);
siemakuba
To, że funkcja mysql_query" title="Zobacz w manualu php" target="_manual zwraca true, oznacza tylko tyle, że mysql nie stwierdził błędów w składni zapytania. Absolutnie nie oznacza to, że zapytanie zadziałało tak jak chciałeś.

mysql_affected_rows" title="Zobacz w manualu php" target="_manual - pokaże ile danych zostało zmianionych/dodanych/usuniętych - używaj do sprawdzania wyników działania zapytań DELETE, INSERT, UPDATE

mysql_num_rows" title="Zobacz w manualu php" target="_manual - pokaże ile zostało znalezionych wyników - używaj do SELECT.

Spróbuj wykonać zapytanie bezpośrednio na bazie, np. przez PHPMyAdmin i zobacz jaki będzie wynik.

pozdr.
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.