Reputation: 470
How can I fetch all the values from columns (like an id column) and put them into an array?
I'm using PDO API and I tried with other code, but it's not working for me.
$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'];
}
Upvotes: 1
Views: 2873
Reputation: 115
You can directly return an id array by specifying the PDO::FETCH_COLUMN
.
$stmt = $DBH->query("SELECT Tid from Playlist");
$ids_array = $stmt->fetchAll(PDO::FETCH_COLUMN);
Upvotes: 8
Reputation: 59681
You are mixing mysql_*
and PDO
, which is obviously not going to work.
Just fetchAll()
your results and then just merge all rows into one array by simply looping through all rows with array_map()
and returning the id, e.g.
$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);
Upvotes: 3