我需要一种方法来做到这一点,如果一个mysql查询不能检索任何数据,就会发生一些事情。这是一个例子。
$color="red";
$query = mysql_query("SELECT * FROM people WHERE shirt='$color'");
if($query = null){
echo 'No people wearing '.$color' shirts available.';
}
答案 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';
}