if($ result === FALSE) - 没有找到结果时不工作?

时间:2016-09-19 22:50:38

标签: php mysql mysqli

这应该很简单,但我不能得到" if($ result === FALSE)"在下面的代码中找不到匹配的记录时工作。如果找到记录,它可以正常工作,但如果没有找到记录则不起作用。有人可以指出我做错了吗?

谢谢 凯文。

$SQL = "SELECT * FROM Master WHERE (Title like '%".$SeachFor."%') or (Keywords like '%".$SeachFor."%') ORDER BY Title" ;
$result = mysqli_query($GLOBALS["connection"], $SQL); 

if ($result === FALSE) { 
    echo 'No results found'; 
} else {
    $num_rows = mysqli_num_rows($result); 
    $Counter = 1;
    $DisplayedCounter = 1;
?>
<?php require_once('displayproduct.php'); ?>
<?php
}
?>

1 个答案:

答案 0 :(得分:0)

您可以在if语句中添加|| mysql_num_rows() == 0,但这样的话会更理想。

if($result === false) {
    trigger_error(mysqli_error($GLOBALS['connection']));
} else if(mysqli_num_rows($result) === 0){
    echo 'No results found';
} else {
    $Counter = 1;
    $DisplayedCounter = 1;
}

这将允许您查看SQL查询是否存在任何错误。 mysqli_query()仅在失败时返回false作为布尔值。否则,您需要检查mysqli_num_rows();