为什么我会得到'Undefined offset:0'?

时间:2011-09-18 09:35:23

标签: php mysql pdo

我正在开发一个网站,它看起来很好。 然后我打开调试以查看是否有任何错误,我收到此消息:

Notice: Undefined offset: 0 in I:\path\to\file\MyFile.class.php on line 105

在该行上,您将找到以下代码:

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result[0]; // line 105

如果我执行print_r(result),我会得到以下结果:

Array (
    [0] => Array (
        [id] => 3721
        [parentID] =>
    )
)
Array (
) 

如您所见,结果包含两个阵列。第一个有数据,第二个没有数据。我从未见过print_r输出这样的两个数组。我猜这是导致我出现问题的第二个问题。

任何人都可以告诉我为什么第二个阵列会潜入?

VAR转储

array
  0 => 
    array
      'id' => string '3721' (length=4)
      'parentID' => null
array
  empty

1 个答案:

答案 0 :(得分:4)

您获取与查询匹配的所有记录。如果有 no 记录,它将返回一个空数组。显然,空数组中没有0元素。