Blad: mysql_num_rows() expects parameter 1 to be resource. Potrzebna pomoc!

0

Witam , chce skorzystać z mechanizmu prywatnych wiadomosci w PHP , ale wyskakuje mi blad: "mysql_num_rows() expects parameter 1 to be resource".Znalazłem podobne problemy na innych forach , ale stosując się do uwag , nic się nie zmieniło.

 <?php
if($_POST["send"]==1){	//sprawdzanie czy formularz został wysłany
	if(!empty($_POST["login"]) && !empty($_POST["haslo"])){	//oraz czy uzupełniono wszystkie dane
		if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
		else{
			mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."')"); // zapisywanie rekordu do bazy
			echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
			}
	}
	else ShowForm("Nie uzupełniono wszystkich pól!!!");
}
else ShowForm();
mysql_close(); //zamykanie połączenia z bazą
?>

Ten blad dotyczy konkretnie tej linijki :

 if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!");

Bede bardzo wdzieczny , jesli ktos potrafilby mi pomoc! Z gory dziekuje!

0

Zapytanie z mysql_query się nie powiodło, po wywołaniu mysql_query zrób echo mysql_error(), żeby dowiedzieć się co poszło nie tak.

0

Z http://php.net/manual/en/function.mysql-query.php :

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

Trudno, żeby dało się wyliczać wiersze, gdy ma się do dyspozycji wartość TRUE/FALSE...

0
mnbvcX napisał(a)

Z http://php.net/manual/en/function.mysql-query.php :

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

Trudno, żeby dało się wyliczać wiersze, gdy ma się do dyspozycji wartość TRUE/FALSE...

W przypadku zapytania SELECT mamy możliwość otrzymania dwóch typów: resource i bool(false). Cytat nieadekwatny do sytuacji.

0

Dzieki Demonical , po wywołaniu

 echo mysql_error() 

okazało się , że podałem złą tabele w bazie danych , po zmianie na właściwą tabele problem znikł. Wielkie dzięki za szybką i tafną podpowiedz! Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1