如何检查ADOdb记录集是否为空

时间:2017-11-08 17:57:06

标签: testing recordset is-empty adodb-php

我在检查ADODB5记录集的空虚时遇到了问题

$db = ADONewConnection($dbdriver);
$db->Connect($dbhost, $dbuser, $dbpass, $dbname);
$rs = $db->Execute($query);

现在,如果我尝试检查记录集

if(isset($rs[0]))
...
...

我收到错误Cannot use object of type ADORecordSet_mysqli as array

如何检查返回的记录集是否为空?

2 个答案:

答案 0 :(得分:1)

isset评估之前,我将ADODB记录集转换为数组

$ra = $rs->getRows();

然后测试$ra数组是否为空

if(empty($ra)){
...
...
}

答案 1 :(得分:1)

如果$db->Execute($query)方法失败,则可能不会返回ADORecordSet对象。在确定$rs->getRows()有效之前,我不会调用$rs方法,因此,

if (is_subclass_of($rs, 'ADORecordSet') AND $rs->recordCount()) {
    // I have rows
    // ...
}