【问题标题】:How can I store data from MySQL database into array indexed by id?如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?
【发布时间】:2017-05-05 11:50:50
【问题描述】:

我将 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 数据库中的另一行)。但是如果我只有两个可用元素:键和值,我该如何存储它?

【问题讨论】:

  • 如果您可以显示表格的示例结构将会很有帮助。

标签: php mysql arrays pdo


【解决方案1】:

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

但是,PDO 比大家想象的要多一点。感谢fetchAll() method with PDO::FETCH_UNIQUE modifier

$commentlist = $db->query('SELECT * FROM comments;')->fetchAll(PDO::FETCH_UNIQUE);

现在你可以在 cmets 上进行 foreach

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

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2021-03-12
    • 2020-03-18
    相关资源
    最近更新 更多