ADOdb和空字段

时间:2014-08-19 11:06:29

标签: php sql-server adodb

我使用最新版本的ADOdb PHP(5.18)在SQL Server数据库中进行一些查询。

我以这种方式选择数据:

$rS = $localDb->Execute($sql);
if (!$rS) {
  echo "Error: " . $localDb->ErrorMsg() . "\n";
}
else {
  $tot = $rS->RecordCount();
  echo " " . $tot . " record da inserire...\n";

  while (!$rS->EOF) {
    $id = $rS->fields['id'];
    $field1 = $rS->fields['field1'];
    $field2 = $rS->fields['field2'];
    $rS->MoveNext();
  }
}

一切正常,我获取数据,但是当数据库的当前行中的字段为NULL时,$ rS->字段中的相对元素具有最后一个非NULL行的值的值对于同一领域。

这是一个很大的问题,因为我在当前行中没有正确的数据。

我尝试搜索此问题,但我找不到任何解决方案。

Coud你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

查看adodb5 / adodb.inc.php并找到GetRowAssoc函数。它应该是以下定义:

function GetRowAssoc($upper=ADODB_ASSOC_CASE_UPPER)
{
    $record = array();
    if (!$this->bind) {
        $this->GetAssocKeys($upper);
    }
    foreach($this->bind as $k => $v) {
        if( array_key_exists( $v, $this->fields ) ) {
            $record[$k] = $this->fields[$v];
        } elseif( array_key_exists( $k, $this->fields ) ) {
            $record[$k] = $this->fields[$k];
        } else {
            # This should not happen... trigger error ?
            $record[$k] = null;
        }
    }
    return $record;
}