如何将数据库列中的所有id都放入一个数组中?

时间:2015-05-16 06:34:17

标签: php mysql pdo fetch

如何从列中获取所有值(如id列)并将它们放入数组中?

我正在使用PDO API并尝试使用其他代码,但它并不适用于我。

$STH = $DBH->query('SELECT Tid  from Playlist ');
$STH->setFetchMode(PDO::FETCH_OBJ);
$result = $STH->fetch();

while($result = mysql_fetch_array($result)) {
    $ids_array[] = $result['Tid'];
}

2 个答案:

答案 0 :(得分:3)

您可以通过指定PDO::FETCH_COLUMN直接返回id数组。

$stmt = $DBH->query("SELECT Tid from Playlist");
$ids_array = $stmt->fetchAll(PDO::FETCH_COLUMN);

答案 1 :(得分:2)

您正在混合使用mysql_*PDO,这显然不起作用。

只需fetchAll()您的结果,然后只需使用array_map()循环遍历所有行并返回id即将所有行合并到一个数组中,例如。

$stmt = $DBH->query("SELECT Tid  from Playlist");
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
$ids = array_map(function($v){
    return $v->Tid;
}, $result);

print_r($ids);