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 に答える