PHP / MySQL:找不到匹配项时返回什么?

时间:2011-07-12 14:54:52

标签: php mysql sql

我想用PHP来查明是否找不到匹配项。我尝试了以下方法,但“is_resource()”始终返回true。

$result = mysql_query('...');
if(is_resource($result)){
// Results are found
}

4 个答案:

答案 0 :(得分:1)

mysql_num_rows()可以解决问题。

if (mysql_num_rows($result)>0) {
    //Results are found
}

http://php.net/manual/en/function.mysql-num-rows.php

答案 1 :(得分:1)

只要您拥有对数据库的适当访问权限,$ result将永远是一个资源。并且mysql_num_rows()假定查询本身成功运行。我会说尝试这样的事情:

if($result === FALSE) // Query failed due to not having proper permissions on the table
    die('Invalid query: ' . mysql_error());
else if(mysql_num_rows($result) >0)) // We have more than 1 row returned which means we have data
    // INPUT RESULTS PROCESSING HERE
else // No rows were returned therefore there were no matches
    echo 'No rows returned';

希望有所帮助=) 如果需要,请在此处查看更多信息:http://www.php.net/manual/en/function.mysql-query.php

答案 2 :(得分:0)

这就是你想要的:mysql_num_rows()

答案 3 :(得分:0)

如果查询失败,mysql_query将返回false,因此您可以检查代码如下:

if ( $stmt = mysql_query("...") )
{
    // Do some things
}
else
{
    // Do some other things
}

或者您可以像上面的人一样使用mysql_num_rows。 但你应该真正研究MySQLi它是一个内置的数据库类。学习并使用它。你的生活会变得如此简单。