首页 > 数据库 > mysql教程 > PDO 的 fetchAll 方法如何根据从数据库检索的键值对创建关联数组?

PDO 的 fetchAll 方法如何根据从数据库检索的键值对创建关联数组?

Linda Hamilton
发布: 2024-11-24 04:47:17
原创
914 人浏览过

How can PDO's `fetchAll` method create an associative array from key-value pairs retrieved from a database?

PDO FetchAll:将键值对分组为关联数组

问题:

检索键值对时从数据库中,我们如何获取一个关联数组,其中的值按键分组PDO 的 fetchAll 方法?

例如,给定查询:

SELECT `key`, `value` FROM `settings`;
登录后复制

我们想要创建一个如下数组:

array('first_name' => 'Tom', 'last_name' => 'Jefferson')
登录后复制

答案:

PDO 提供了一个简单高效的解决方案this:

$q = $db->query("SELECT `key`, `value` FROM `settings`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
登录后复制

此方法:

  • 执行查询并将所有行检索到 $q PDOStatement 对象中。
  • 使用 PDO 调用 fetchAll(): :FETCH_KEY_PAIR 按第一列(键)对结果进行分组,并将第二列(值)分配为相应的value。
  • 将关联数组存储在 $r 变量中。

此方法针对此特定用例进行了优化,因为它使用单个查询检索数据并直接将其存储到所需的关联数组格式。

对于在 Windows 7 x64 上运行的 PostgreSQL 9.1 和 PHP 5.3.8,此解决方案已经验证可以有效工作。

以上是PDO 的 fetchAll 方法如何根据从数据库检索的键值对创建关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板