我正在创建一个小型Web应用程序,我在两个阵列上运行 - 一个由simplexml_load_file检索,另一个由查询生成到数据库。我对后者有一点问题 - 我需要创建一个可以通过索引引用的关联数组。为此,我做了类似的事。
$stmt->execute();
$db = $stmt->fetchAll(PDO::FETCH_ASSOC);
因此,数组应如下所示:
Array (
['element'] => value,
)
看起来像这样:
Array (
[0] => Array (
['element'] => value,
)
)
我唯一注意到的是在查询中创建了记录
Array (
[0] => Array (
['element'] => value,
[0] => value
)
)
我的解决方案删除了第一个数组中的索引,在此示例中,它将删除行[0] => value
,尽管主索引将保留。如何更改此选项以生成完整的关联关联数组?我提到我想显示查询中的所有记录,同样的fetch()可以工作,尽管它会从查询中显示一条记录(最后一条)。
答案 0 :(得分:1)
尝试更改
这
$db = $stmt->fetchAll(PDO::FETCH_ASSOC);
到
$db = $stmt->fetch(PDO::FETCH_ASSOC);
PDOStatement::fetch
- 从结果集中获取下一行
While PDOStatement::fetchAll
- 返回包含所有结果集行的数组
答案 1 :(得分:0)
0表示第一行。如果您只想处理一行,请使用数组上的当前函数,它将为您提供预期的结果