【发布时间】:2014-07-16 21:44:49
【问题描述】:
我对 PDO 还很陌生,让他们使用 MySQL。我似乎在插入新数据和检索单个结果方面做得很好,但是我坚持这样做。
我有一张由成分组成的表,我正在尝试将所有成分组成一个数组。
我已将查询直接运行到 SQL 中,它向我显示了所有结果,但使用 PDO,我无法仅使用 fetch 获得此结果。当我使用下面的fetchAll 方法时,它给了我所有的结果,但在一个多维数组中,而不仅仅是一个数组。
是否有单独的fetch 方法或者我必须创建一个循环将结果添加到$a[]?
$ingredient_q = "SELECT
`ingredient_name`
FROM
`ingredients`
";
$ingredient_stmt = $pdo->query($ingredient_q);
$ingredient_stmt ->setFetchMode(PDO::FETCH_ASSOC);
$a = $ingredient_stmt->fetchAll();
我尝试过的事情:
$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.
任何帮助将不胜感激。
【问题讨论】:
-
Multidimensional因为你有multiple行或single维度因为你有single行。 -
var_dump($a)会告诉你你得到了什么...... -
我不明白,我试图从一行中提取所有结果,所以我假设它是一个维度
-
那你,我的朋友,想要
SELECT * FROM ingredients WHERE [Please put a condition here]。这与PDO、PHP、数组无关,而是你对MySQL的理解 -
Loop results PDO PHP 的可能重复项