【问题标题】:undefined index in php PDO while statement [duplicate]php PDO while语句中未定义的索引[重复]
【发布时间】:2014-01-09 04:07:03
【问题描述】:

我是 php 和 PDO 的初学者,需要帮助解决我在这行代码中不断遇到的这个错误 $category_name [$category["category_id"]] = $category["category"]; 我继续得到,注意:未定义索引:类别。还有未定义的索引:category_id。我不知道为什么,有人可以为我提供正确的方法来做到这一点。这是我的代码。这个略有不同,因为它在 while 语句中使用。

 // get the item category names

    $category_name = Array();
    $query = 'SELECT * FROM category_2';
    $categories_list = $db->prepare($query);
    $categories_list->execute();
    while ($category = $categories_list->fetchAll())

{

        $category_name [$category["category_id"]] = $category["category"];

    }

【问题讨论】:

  • 你在寻找fetch()而不是fetchAll()

标签: php mysql pdo


【解决方案1】:

试试这个: 我们将在$category 的每次循环中都有一个数组。您可以像这样访问此数组中的任何数据库属性:$category['attribute_name']

while ($category = $categories_list->fetch(PDO::FETCH_ASSOC))

{

   $category_name [$category["category_id"]] = $category["category"];

}
print_r($category_name);

【讨论】:

    【解决方案2】:

    您可能正在寻找fetch(PDO:: FETCH_ASSOC) 而不是fetchAll()

    【讨论】:

    • 这就是我在评论中所说的:P
    • 从手机打字。甚至不能正确标记它。好吧,没有看到这一点,而且您建议默认返回由列名和数字索引的默认值,而他似乎只需要返回一个关联数组。几乎一样,但不完全一样:)
    • @NewInTheBusiness 不一定。可以在调用fetch()之前在语句甚至连接级别设置默认获取模式
    • 他自称是初学者……
    猜你喜欢
    • 2013-05-22
    • 2011-08-06
    • 1970-01-01
    • 2011-06-18
    • 2014-01-27
    • 2017-10-17
    • 1970-01-01
    • 2020-11-14
    相关资源
    最近更新 更多