0

我使用下面的 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- 我发现在 AJAX 页面中使用 alert(data.length),结果为 2,这意味着 php 输出有两个空格没有结果...

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

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

4

2 回答 2

3
if ($query->num_rows > 0) {
  while ...
} else {
  echo 'no results found';
}

$db->query()false在执行查询出错时返回。空结果集不是错误。

于 2012-11-28T20:57:25.467 回答
0

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

于 2012-11-28T20:57:15.683 回答