我有以下代码
$stmt = $pdo->query("SELECT Name,office FROM `table`");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);
打印以下内容
Array (
[0] => Array (
[Name] => Suki Burks
[office] => London
)
[1] => Array (
[Name] => Thor Walton
[office] => New York
)
)
我想要数字索引数组,就像这样
Array (
[0] => Array (
[0] => Suki Burks
[1] => London
)
[1] => Array (
[0] => Thor Walton
[1] => New York
)
)
我试图为此找到一个PDO常量因此我可以像这样使用它
$stmt->fetchALL(PDO::FETCH_INEDXED)
但我认为PDO中没有内置的方法来实现这一目标,但实现这一目标的好方法是什么?
谢谢
答案 0 :(得分:5)
fetchAll()
上的手册说明了第一个参数fetch_style
,如下(强调我的)
按照
PDOStatement::fetch()
中的说明控制返回的数组的内容。默认值为PDO::ATTR_DEFAULT_FETCH_MODE
(默认为PDO::FETCH_BOTH
)
这意味着对于可用于不同fetch-style的常量的完整列表,您应该查看fetch()
文档。这表明对于数字索引数组,您应该使用PDO::FETCH_NUM
,这被描述为..
PDO::FETCH_NUM
:返回一个数组索引的数组,该数组在结果集中返回,从第0列开始
最终结果如下所示,所有变化都是作为fetchAll()
的参数提供的常量。
$stmt = $pdo->query("SELECT name,office FROM `table`"); // Singlequotes are for values, backticks for table/column-names
$rows = $stmt->fetchAll(PDO::FETCH_NUM);
print_r($rows);