我有一点问题,我不明白.
我有这个代码:
public function formAlreadySent($demande){
$data = odbc_exec($this->dbConnection,"SELECT COUNT(*) FROM [@JDC_QSTR] WHERE U_Demande = ".$demande);
$nombre = odbc_fetch_array($data);
print_r($nombre);
if($nombre[0] > 0)
return true;
else
return false;
}
我的print_r的结果是:
Array ( [0] => 0 )
但我得到了这个错误:
Notice: Undefined offset: 0 in C:\wamp\www\enquetesatisfaction\libs\model\QuestionsManager.class.php on line 89
第89行是:
if($nombre[0] > 0)
如果有人知道为什么会出现此问题?
提前致谢 !
解决方法:
根据PHP文档,odbc_fetch_array获取结果行并将其作为关联数组返回,如果没有更多行则返回false.
作为关联数组,第一项的索引(COUNT(*))不应为[0].说实话,我不知道为什么显然是这样.
我建议这样做:首先将SQL中的计数别名,例如
SELECT COUNT(*) AS rowcount ...
然后在获取结果后引用该别名.
if($nombre['rowcount'] > 0) ...