Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Warning: mysql_num_rows()
Forum PHP.pl > Forum > PHP
Tr0k
Witam! Mam problem z funkcją mysql_num_rows().

Mam taki kod:

Kod
<?php

mysql_connect('localhost','root','haslo');

$query = mysql_query("SELECT * FROM `users` WHERE `user`='".$login."' AND `pass`='".$haslo."';");
 
if(mysql_num_rows($query) == 1) {}

?>


Wywala mi takie ostrzeżenie: 

Kod
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\test\strona\kod.php on line 6


Dodam, że kod uruchamiam xampp'em.

Proszę o pomoc w rozwiązaniu problemu.
matx132
a gdzie wybierasz nazwe bazy??
select_db?
sobstel
Na 99% problemem jest to, że zapytanie nie zostało wykonanie poprawne (być może właśnie przez to, że nie masz wybranej bazy - jak zauważył @matx132). Po wykonaniu zapytania sprawdzaj co zawiera $query (błędy w zapytaniu spowodują, że będzie zaweirać wartość FALSE i dlatego mysql_num_rows() wyrzuca warning, ponieważ on się spodziewa poprawnego resource) albo jeszcze lepiej sprawdź czy nie ma błędów używając mysql_error oraz mysql_errno.

Polecam PDO i wyjątki. Obsługa błędów wtedy z lekka prostsza.
matx132
po sprawdzeniu takie coś działa
Kod
<?php
$con = mysql_pconnect("localhost","root","krasnal");
mysql_select_db("te",$con);
$login='test';
$haslo='test';
$query = mysql_query("SELECT `user` FROM `users` WHERE `user`='test' AND `pass`='test' ") or die(mysql_error());
$a=mysql_num_rows($query);
if($a == 1) {}

?>


i zawnsze najlepiej dodawać or die(mysql_error());
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.