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


PDO results returned using a while loop, how do you tell if no records are returned?

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未完成,我都无法让它返回"无结果"。如果While语句外有If语句,则在循环完成后返回"无结果"。如果没有循环,把它放在里面是行不通的。

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

谢谢!

编辑

这是有效的,感谢使用==的提醒,忘记它。

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

有更好的方法来完成这个吗?

为什么不

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

工作吗?

我明白了。

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