如何从 PDO 结果集生成多维数组?
How to generate a multi-dimensional array from a PDO resultset?
我正在尝试使用 PDO 查询的结果集创建一个数组。
我不确定如何生成我想要的数组结构。
require_once("../resource/Database.php");
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
foreach($select as $rs) :
$testing = "array('city'=>".$rs['citynames']"),"
$cities = array(
echo $testing;
);
我想要这个结果:
$names= array(
array('name'=>'Los Angeles'),
array('name'=>'Chicago'),
array('name'=>'Houston'),
array('name'=>'Phoenix'),
array('name'=>'Philadelphia'),
array('name'=>'San Antonio'),
array('name'=>'Dallas',),
array('name'=>'San Diego',),
array('name'=>'San Jose', ),
array('name'=>'Detroit', ),
array('name'=>'San Francisco',),
array('name'=>'Jacksonville', ),
array('name'=>'Indianapolis', ),
array('name'=>'Austin', ),
array('name'=>'Columbus', ),
array('name'=>'Fort Worth',),
array('name'=>'Charlotte', ),
array('name'=>'Memphis', ),
array('name'=>'Baltimore', ),
);
想必您正在尝试这样做?
require_once("../resource/Database.php");
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
# You may have a snippet of code that you are missing, but incase not,
# you have to fetch the results while() to iterate or your results. I just
# copied your code and focused on the push, not the fact you didn't fetch
while($rs = $select->fetch(PDO::FETCH_ASSOC)) {
$names[] = array('name'=>$rs['citynames']);
}
这是在此处找到的数组推送 in the manual。如果这不是你的意思,你必须澄清。
您应该指定 sql 查询输出格式:
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
foreach($select->fetchAll(PDO::FETCH_ASSOC) as $rs) {
$testing[] = array('city' => $rs['citynames']);
}
var_dump($testing);
我正在尝试使用 PDO 查询的结果集创建一个数组。
我不确定如何生成我想要的数组结构。
require_once("../resource/Database.php");
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
foreach($select as $rs) :
$testing = "array('city'=>".$rs['citynames']"),"
$cities = array(
echo $testing;
);
我想要这个结果:
$names= array(
array('name'=>'Los Angeles'),
array('name'=>'Chicago'),
array('name'=>'Houston'),
array('name'=>'Phoenix'),
array('name'=>'Philadelphia'),
array('name'=>'San Antonio'),
array('name'=>'Dallas',),
array('name'=>'San Diego',),
array('name'=>'San Jose', ),
array('name'=>'Detroit', ),
array('name'=>'San Francisco',),
array('name'=>'Jacksonville', ),
array('name'=>'Indianapolis', ),
array('name'=>'Austin', ),
array('name'=>'Columbus', ),
array('name'=>'Fort Worth',),
array('name'=>'Charlotte', ),
array('name'=>'Memphis', ),
array('name'=>'Baltimore', ),
);
想必您正在尝试这样做?
require_once("../resource/Database.php");
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
# You may have a snippet of code that you are missing, but incase not,
# you have to fetch the results while() to iterate or your results. I just
# copied your code and focused on the push, not the fact you didn't fetch
while($rs = $select->fetch(PDO::FETCH_ASSOC)) {
$names[] = array('name'=>$rs['citynames']);
}
这是在此处找到的数组推送 in the manual。如果这不是你的意思,你必须澄清。
您应该指定 sql 查询输出格式:
$query ="SELECT username FROM users";
$select = $db->prepare($query);
$select->execute(array());
foreach($select->fetchAll(PDO::FETCH_ASSOC) as $rs) {
$testing[] = array('city' => $rs['citynames']);
}
var_dump($testing);