我使用最新版本的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你能帮帮我吗?
答案 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;
}