2015-11-01 89 views
-1

如果我在sql查询中使用!empty(),即使没有返回行,它也不会说它是空的。例如!空的PHP函数不适用于SQL查询

$result = $conn->query($sql_ideas); 
if (!empty($result)) { 
    while($row = $result->fetch_assoc()) { 
    $highlights[] = array($row["summary"], $row["detail"]); 
} 
-- Do stuff -- 
} 

它只是进行结果返回。我做错了什么或者有什么方法可以解决这个问题?

+0

为什么你甚至需要检查? –

+0

,因为如果查询返回值,我想完成一些HTML,如果它不去下一个查询... –

+2

@StuartDurning这是行计数派上用场的地方。 – Script47

回答

2

假设你使用的是mysqli,你的结果对象实际上就是一个'mysqli结果' - 它本身就是一个类。检查行数是否大于零将是要走的路。

http://php.net/manual/en/mysqli-result.num-rows.php

+0

谢谢!虽然我显然很笨......但为什么这个错误呢...... 'if((mysql_num_rows($ result))> 0)'' –

+0

或者这个...''$ num_rows = mysql_num_rows($结果); \t \t if($ num_rows> 0){'' ...说'mysql_num_rows希望参数1是一个资源'**以前的评论意思是说为什么会出现这个错误。 –

+0

我只需要把它放在我的fetch_assoc()语句中。那谢谢啦! –