Php ADOdb和空字段
我正在使用最新版本的ADOdb PHP5.18在SQL Server数据库中进行一些查询 我以这种方式选择数据:Php ADOdb和空字段,php,sql-server,adodb,Php,Sql Server,Adodb,我正在使用最新版本的ADOdb PHP5.18在SQL Server数据库中进行一些查询 我以这种方式选择数据: $rS = $localDb->Execute($sql); if (!$rS) { echo "Error: " . $localDb->ErrorMsg() . "\n"; } else { $tot = $rS->RecordCount(); echo " " . $tot . " record da inserire...\n"; whil
$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->fields中的相对元素具有相同字段的最后一个非NULL行的值
这是一个大问题,因为我在当前行中没有正确的数据
我试图寻找这个问题,但没有找到任何解决办法
您能帮我吗?查看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;
}
我现在意识到5.19已经发布,这是一个在这个版本中修复的错误:*adodb:GetRowAssoc将根据需要返回null。看见