1

我想知道如何从 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);

但这根本不起作用。有什么建议么?

4

3 回答 3

3

您正在使用 PDO,因此您应该使用PDOStatement::fetchAll().

$stmt = $DBH->query($query);
$array = $stmt->fetchAll(PDO::FETCH_COLUMN);

完成 - 你没有使用任何循环。

于 2012-06-25T20:59:30.850 回答
2
$query = "SELECT DISTINCT City FROM Locations ORDER BY City";

foreach($DBH->query($query) as $row) {
    $array[] = $row['City'];      
}
于 2012-06-25T20:58:33.987 回答
0

可能尝试:

$array = array();

foreach($DBH->query($query) as $row){
    array_push($array, $row['City']);     
}

print_r($array);
于 2012-06-25T20:58:17.203 回答