我有一个小问题,我不明白。
我有这个代码:
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) ...
关于php - 通知: Undefined offset: 0 - My array contains values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46075491/