一尘不染

PDO将表格中的一列取入一维数组

mysql

我对PDO相当陌生,并希望它们与MySQL一起使用。我似乎可以插入新数据并检索单个结果,但是我对此仍然坚持。

我有一个由成分组成的表格,我正在尝试将所有成分制成一个阵列。

我已经直接将查询运行到SQL中,它向我显示了所有结果,但是使用PDO时,仅使用a就无法获得此结果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.

任何帮助将不胜感激。


阅读 288

收藏
2020-05-17

共1个答案

一尘不染

<?php
$sql = "SELECT `ingredient_name` FROM `ingredients`";
$ingredients = $pdo->query($sql)->fetchAll(PDO::FETCH_COLUMN);
2020-05-17