如何将数据库列中的所有 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);
如何从列(如 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
.
$stmt = $DBH->query("SELECT Tid from Playlist");
$ids_array = $stmt->fetchAll(PDO::FETCH_COLUMN);