[循环[重复]时php pdo查询出现问题

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我有一个数据库表,该表具有两列,即id和category。我的目标是使用while循环将数据库中的类别回显为li和anchor。继承人的代码

<ul class="nav navbar-nav">
                    <?php $connect = new db();
                          $stmt = $connect->link->query("SELECT * FROM categories")->fetchall();
                          while($row = $stmt){
                            $category = $row["category"];
                            echo "<li><a href='#'>{$category}</a></li>";
                          }

                    ?>
                </ul>

我遇到错误,但对我来说没有意义。俗话说未定义的索引“类别”。它指的是我将$ category分配给$ row []的位置。

我确定因为我使用了print_r()函数并将其打印出来,所以我确定该数据已被拉出

编辑:根据要求从var_dump()输出

C:\wamp64\www\cms\CMS_TEMPLATE\includes\nav.php:21:
array (size=4)
  0 => 
    array (size=4)
      'catagory_id' => string '1' (length=1)
      0 => string '1' (length=1)
      'category' => string 'bootstrap' (length=9)
      1 => string 'bootstrap' (length=9)
  1 => 
    array (size=4)
      'catagory_id' => string '2' (length=1)
      0 => string '2' (length=1)
      'category' => string 'javascript' (length=10)
      1 => string 'javascript' (length=10)
  2 => 
    array (size=4)
      'catagory_id' => string '3' (length=1)
      0 => string '3' (length=1)
      'category' => string 'html' (length=4)
      1 => string 'html' (length=4)
  3 => 
    array (size=4)
      'catagory_id' => string '4' (length=1)
      0 => string '4' (length=1)
      'category' => string 'css' (length=3)
      1 => string 'css' (length=3)
php sql pdo
1个回答
0
投票

$stmt是数据库中所有行的列表-您使用->fetchall();获取查询结果-这意味着它是一个二维数组,其中行由数字索引,每行都有字段名。因此,您最好替换

© www.soinside.com 2019 - 2024. All rights reserved.