1

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

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

4

2 回答 2

1

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

$ra = $rs->getRows();

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

if(empty($ra)){
...
...
}
于 2017-11-08T18:15:21.520 回答
1

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

if (is_subclass_of($rs, 'ADORecordSet') AND $rs->recordCount()) {
    // I have rows
    // ...
}
于 2018-04-17T21:40:33.680 回答