如何将MySQL数据库中的数据存储到由id索引的数组中?

时间:2017-05-05 11:50:50

标签: php mysql arrays pdo

我将MySQL数据库中的一些数据存储到一个数组中:

$p = $db->query('SELECT * FROM comments;');
while ($row = $p->fetch(PDO::FETCH_ASSOC)) {
   $commentlist[$row['id']] = $row['text'];
}  


  foreach($commentlist as $key => $value) {
      echo $key;
      echo $value;
  }

现在,我可以访问值idtext。但我还需要访问值image(这是MySQL数据库中的另一行)。但是,如果我只有两个可用元素,那么如何存储它:键和值?

1 个答案:

答案 0 :(得分:2)

如果您需要其他字段,则应将整行存储在$ value中。

然而,PDO比每个人都想象的要多一点。通过fetchAll() method with PDO::FETCH_UNIQUE modifier

,它可以在一次通话中为您提供所需的结果
$commentlist = $db->query('SELECT * FROM comments;')->fetchAll(PDO::FETCH_UNIQUE);

现在你可以预约评论

foreach($commentlist as $id => $value) {
    echo $id;
    echo $value['text'];
    echo $value['image'];
}