PDO fetch one column from table into 1-dimensional array
<?php
$sql = "SELECT `ingredient_name` FROM `ingredients`";
$ingredients = $pdo->query($sql)->fetchAll(PDO::FETCH_COLUMN);
Related videos on Youtube
SamesJeabrook
"Self taught" meaning I asked a lot of questions on Stack Overflow to learn code
Updated on August 24, 2020Comments
-
SamesJeabrook over 3 years
I'm fairly new to PDO and getting them to work with MySQL. I seem to be getting on alright with inserting new data and retriving single results however this I am stuck with.
I have a table that is made up of ingredients, I'm trying to make all the ingredients into a single array.
I've run the query directly into SQL and it shows me all the results, yet with PDO I can not get this with the just a
fetch
. When I use thefetchAll
approach as below it gives me all the results but in a multidimensional array rather than just an array.Is there a seperate
fetch
method or do I have to create a loop which adds the results into$a[]
?$ingredient_q = "SELECT `ingredient_name` FROM `ingredients` "; $ingredient_stmt = $pdo->query($ingredient_q); $ingredient_stmt ->setFetchMode(PDO::FETCH_ASSOC); $a = $ingredient_stmt->fetchAll();
Things I've tried:
$a = $ingredient_stmt->fetchAll(); // Returns a multidimensional array (not what I want) $a = $ingredient_stmt->fetch(); // Returns one single result (the first entry) $a[] = $ingredient_stmt->fetch(); // Returns one single result but in a multidimensional array.
Any help will be greatly appreciated.
-
AbraCadaver almost 10 years
Multidimensional
because you havemultiple
rows or asingle
dimension because you have asingle
row. -
Marc B almost 10 years
var_dump($a)
will tell you what you're getting... -
SamesJeabrook almost 10 yearsI don't understand, I'm trying to extract all results from a single row, so I assume with that that it would be a single dimension
-
Noah almost 10 yearsThen you, my friend, want
SELECT * FROM ingredients WHERE [Please put a condition here]
. This is not at all related to PDO, PHP, or arrays, but your understanding of MySQL -
Marcus Adams almost 10 yearspossible duplicate of Loop results PDO PHP
-
AbraCadaver almost 10 yearsIf you have multiple rows in ingedients then you will get all rows with that query.
-
Your Common Sense almost 10 yearsNow read the new title and think how fatally you can spoil your chance for the proper answer.
-