【问题标题】:how to check if ADOdb recordset is empty如何检查 ADOdb 记录集是否为空
【发布时间】:2017-11-08 17:57:06
【问题描述】:

我在检查 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

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

【问题讨论】:

标签: testing recordset is-empty adodb-php


【解决方案1】:

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

$ra = $rs->getRows();

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      相关资源
      最近更新 更多