使用while循环返回PDO结果,如何判断是否没有返回记录?

时间:2015-05-20 10:08:27

标签: php pdo while-loop

PHP的新手,试图解决这个问题。

$missing_query = $handler->query('SELECT id FROM bla WHERE blee=1 ORDER BY id');
                    while ($missing  = $missing_query ->fetch(PDO::FETCH_OBJ)) {
                    echo $missing->id, ' ';
                    } 

这很好用,但无论我尝试什么,如果没有完成,我无法让它返回“无结果”。如果在While之外存在IF语句,则在循环完成后返回“无结果”。如果没有循环,将其放入其中是行不通的。

什么变量会告诉我FETCH没有返回记录?

谢谢!

修改

这确实有效,感谢提醒使用==,忘记了这一点。

$querycount = $missing_query ->rowCount();
if ($querycount  == 0) {echo 'No records';}

有没有更好的方法来实现这一目标?

为什么不

if (empty($missing_query)) {echo 'No records';}

工作?

1 个答案:

答案 0 :(得分:0)

我想出来了。

        if($missing_query->rowCount()) {
            while ($missing  = $missing_query ->fetch(PDO::FETCH_OBJ)) {
                echo $missing->id, ' ';
            }
        } else {
            echo 'No records';
        }