php – 注意:未定义的偏移量:0 – 我的数组包含值

我有一点问题,我不明白.

我有这个代码:

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) ...
上一篇:PostgreSQL 部署ODBC


下一篇:iODBC错误尝试使用unixODBC / FreeTDS连接到PHP中的MS SQL Server