gpt4 book ai didi

php - 奇怪的 PDO 结果为每个行值返回一个键

转载 作者:行者123 更新时间:2023-11-29 04:01:05 25 4
gpt4 key购买 nike

尝试在一个非常简单的应用程序中获取一些数据库结果。

代码

$pdo = new PDO("mysql:host=localhost;dbname=soundinsider", "root", "");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM users";
$query = $pdo->query($sql);

echo '<pre>';
print_r($query->fetchAll());

这是输出结果

Array
(
[0] => Array
(
[user_id] => 1
[0] => 1
[username] => simon
[1] => simon
[email] => madeup
[2] => madeup

)

[1] => Array
(
[user_id] => 2
[0] => 2
[username] => bobwin
[1] => bobwin
[email] => fake@email.com
[2] => fake@email.com

)

)

因此似乎为每个结果创建了一个额外的键。当我在一两个月前编码时,情况并非如此。这里有问题还是现在是 PDO 行为?

最佳答案

这是可配置的行为:

$statement->fetchAll(PDO::FETCH_ASSOC)

将返回关联数组——参见参数 $fetch_style .

你可以configure你的 pdo 实例总是这样做:

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

还有PDOStatement::setFetchMode()这在使用重复的准备语句时很有用。

关于php - 奇怪的 PDO 结果为每个行值返回一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19758753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com