Re: mysql_num_rows

From: Date: Wed, 18 Dec 2002 03:48:10 +0000
Subject: Re: mysql_num_rows
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-128638@lists.php.net to get a copy of this message
> Would someone be kind enough to explain why I'm not getting the correct > result from the following query. If I select a valid member no. and name, > the following query should return 1 row. This is not the case, however. It > returns zero rows. > > $sql = "SELECT * FROM users WHERE member_no = '$member_no' and > name = ' $name' "; Because ' $name' != '$name' so zero rows are returned. So remove the leading space from your query and you'll get one row.. > $result = mysql_query($sql) or die ("Cannot verify the member"); > $rows = mysql_num_rows($result); > echo "rows = $rows<br>"; > > Furthermore when trying the following query where the table "users" contains > 13 rows, the query returns only 12 rows. > > $sql = "SELECT * FROM users"; > $result = mysql_query($sql) or die ("Cannot verify the member"); > $rows = mysql_num_rows($result); > echo "rows = $rows<br>"; Because there are 12 rows, not 13 ;) Check again or simply test it: $sql = "SELECT * FROM users"; if (!$result = mysql_query($sql)) { echo "Could not run query ($sql) " . mysql_error(); exit; } $count = mysql_num_rows($result); while ($row = mysql_fetch_assoc($result)) { $rows[] = $row; } print "<pre>"; print "Returned: " . count($rows) . " and num_rows: $count\n"; print_r($rows); > Conclusion: mysql_num_rows seems to be returning one less row > than exists. Is this correct? Nope. Regards, Philip Olson

« previous php.general (#128638) next »