如何处理ADOdb执行返回值

时间:2015-02-12 15:04:09

标签: php adodb

我发现了几个教程,它们的代码类似如下:

   $sql = "select * from users";

   $result =  $conn1->Execute($sql);

   if ($result==false) {
      print 'error' . $conn1->ErrorMsg() . '<br>';
   } else {   
      print_r($result->GetRows());          
   }

但是$结果怎么可能是虚假的?如果我添加一个无法实现的where子句,则仍然会使用else-branch,因为$ result包含列标题。的实施例

"select * from users"; // Select the whole table data
echo "$result";

导致

id,username,password 1,peter,geheim 2,sabine,secret 3,thorsten,qwertz 

"select * from users where username = 'does not exist'";
echo "$result";

导致

id,username,password

因此结果永远不会错。这里我的错误是什么?

1 个答案:

答案 0 :(得分:1)

如果查询本身失败,则Execute方法返回false,如果结果为0则不返回。

如果要检查查询是否返回任何结果,可以使用RecordCount方法。

$rows = $conn1->Execute($sql);
if ($rows->RecordCount() > 0) {
    // Do something with your rows
} else {
     // Nothing returned
}