我想知道如何从PDO发出查询并返回一个数组?现在,我有
$DBH = new PDO("mysql:host={$host};dbname={$dbname}", $user, $pass);
使用foreach循环,如此
$query = "SELECT DISTINCT City FROM Locations ORDER BY City";
foreach($DBH->query($query)as $row) {
echo $row['City'];
}
我可以打印所有城市。但是,我想将所有城市存储到一个数组中。我试着这样做
$array = $DBH->query($query);
但这根本不起作用。有什么建议吗?
答案 0 :(得分:3)
您正在使用PDO,因此您应该使用PDOStatement::fetchAll()
。
$stmt = $DBH->query($query);
$array = $stmt->fetchAll(PDO::FETCH_COLUMN);
完成 - 你没有使用任何循环。
答案 1 :(得分:2)
$query = "SELECT DISTINCT City FROM Locations ORDER BY City";
foreach($DBH->query($query) as $row) {
$array[] = $row['City'];
}
答案 2 :(得分:0)
可能尝试:
$array = array();
foreach($DBH->query($query) as $row){
array_push($array, $row['City']);
}
print_r($array);