简体   繁体   中英

mysql_num_rows(): supplied argument is not a valid MySQL result resource

I am getting this error when I pass an invalid SQL string... I spent the last hour trying to find the problem assuming - It's not my SQL it must be the db handle... ANyway, I've now figured out that it was bad SQL...

What I want to do is test the result of the mysql_query() for a valid resultset.

I am simply using empty($result)... Is this the most effective test? Is there a more widely accepted method of testing a resultset for a valid result?

mysql_query will return false if there is an error

$result = mysql_query('select * from');
if ($result === false) {
    // caused by my invalid input above
} else {
    // process as usual
}

In fact, you're getting the error you describe because you're literally calling mysql_num_rows(false)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM