PHP输出包含两个空格,甚至没有找到结果

时间:2012-11-28 20:54:34

标签: php mysql

我使用下面的PHP代码将MYSQL数据库搜索的结果发送到AJAX请求...

$query = $db->query("SELECT name FROM search WHERE qurl = '" . $queryString . "'");


if($query) {

    while ($result = $query ->fetch_object()) {             
           echo $result->name; 
    }
} else { echo 'no results found'; }

但我从来没有得到没有找到结果消息,即使没有结果,如果没有结果,我得到的所有结果,two empty spaces - 我发现使用alert(data.length) AJAX页面,结果是2,这意味着当没有结果时,php输出有两个空格......

但是当有结果时它可以正常工作......

删除这两个空格的任何方式或为什么我没有找不到结果消息?

2 个答案:

答案 0 :(得分:3)

if ($query->num_rows > 0) {
  while ...
} else {
  echo 'no results found';
}
如果执行查询时出错,

$db->query()仅返回false。空结果集不是错误。

答案 1 :(得分:0)

您正在评估的是该语句是否有效......它是什么,并且将始终返回true。要评估返回的结果,您需要评估$ query-> num_rows