PHP MYSQL如果为null语句

时间:2010-06-24 21:05:03

标签: php mysql

我需要一种方法来做到这一点,如果一个mysql查询不能检索任何数据,就会发生一些事情。这是一个例子。

$color="red";
$query = mysql_query("SELECT * FROM people WHERE shirt='$color'");
if($query = null){
echo 'No people wearing '.$color' shirts available.';
}

4 个答案:

答案 0 :(得分:9)

请使用mysql_num_rows()

if( mysql_num_rows($query) == 0 ) {
    // No results returned

答案 1 :(得分:5)

使用mysql_num_rows检查查询返回的行数。

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

if( $num_rows == 0 ) {
    // No results returned
    echo "No results!";
} else {
    echo "$num_rows Rows\n";
}

?>

答案 2 :(得分:0)

除了mysql_num_rows()之外,还有COUNT()可以像这样使用:

"SELECT COUNT(*) FROM people WHERE shirt='$color'"

您实际上可能需要来自数据库的更多数据,但如果您只需要一个数字,那么这将消除对if的需求。

答案 3 :(得分:0)

您可以使用empty

$num_rows = mysql_num_rows($result);

if(empty($num_rows)){
    echo 'No results';
}