mysql_num_rows(): supplied argument is not a valid

2019-02-27 17:18发布

问题:

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?

回答1:

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)