PDO从表中获取一列到一维数组

Sam*_*ook 21 php mysql arrays pdo

我是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();
Run Code Online (Sandbox Code Playgroud)

我试过的事情:

$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.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

小智 64

<?php
$sql = "SELECT `ingredient_name` FROM `ingredients`";
$ingredients = $pdo->query($sql)->fetchAll(PDO::FETCH_COLUMN);
Run Code Online (Sandbox Code Playgroud)