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

How can I get all id's from a database column into one single array?

如何从列(如 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'];
}

你混合使用 mysql_*PDO,这显然是行不通的。

只需 fetchAll() your results and then just merge all rows into one array by simply looping through all rows with 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);

您可以通过指定 PDO::FETCH_COLUMN.

直接 return 一个 id 数组
$stmt = $DBH->query("SELECT Tid from Playlist");
$ids_array = $stmt->fetchAll(PDO::FETCH_COLUMN);