欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP从数据库中取得数据并放入数组(PDO)

程序员文章站 2024-02-24 10:33:22
...

直接将从数据库中取得的数据放入数组,往往比直接操作记录集要方便。PDO提供了和ADODB类似的fetchAll()方法,它允许从一个结果集中取得数据,然后放于关联数组中。

代码如下:

return $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  • 1

当然直接写fetchAll(PDO::FETCH_NUM)的话,会将记录集中的内容放在索引数组中去。但是因为PHP的索引数组消耗远远大于关联数组,所以建议使用关联数组。

下面罗列出fetchAll的所有选项

PDO::FETCH_ASSOC —— 关联数组形式;
PDO::FETCH_NUM   —— 数字索引数组形式;
PDO::FETCH_BOTH  —— 两种数组形式都有,这是默认的;
PDO::FETCH_OBJ   —— 按照对象的形式,类似于以前的 mysql_fetch_object()。
  • 1
  • 2
  • 3
  • 4

下面是实际项目中的代码

<?php
/**
 * 取得数据库
 */
function getModelList($db){
  $sql = "";   // SQL临时变量

  // 读入SQL脚本文件
  $fileHandle = fopen("sql/sidebar.sql","r");
  while(!feof($fileHandle)){
    $sql = $sql.fgets($fileHandle);
  }

  // 执行查询,并放入结构数组中
  return $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
}
?>