如何使用PDO获取1列的所有行?

时间:2015-02-05 14:42:28

标签: php arrays pdo

我是PDO新手,我正在运行如下查询:

  <?php
    $query = "

    SELECT     c1, c2, c3, c4
    FROM       t1

    ";
    $conn = new PDO('oci:dbname=//127.0.0.1/XE', 'user', 'pass', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
    $stmt = $conn->prepare(trim($query));
    $stmt->execute();
    $data = $stmt->fetchAll();
    $stmt = null;
    ?>

然后我就像使用它一样:

labels: ["<?php echo join($data[0], '","'); ?>"],

但是这会从1行输出4列的值,但我想要1列中所有行的值。我怎么能这样做?

例如,这里是表格:

c1          c2          c3          c4
--------------------------------------
1          500         200         300
2          200         700         400
3          600         800         100
4          100         300         200
5          800         600         200

我希望输出为

"1", "2", "3", "4", "5"

不是

"1", "500", "200", "300"

1 个答案:

答案 0 :(得分:1)

对于PHP&gt; = 5.5

$c1 = array_column($data, 0);

用于早期版本的PHP

$c1 = array_map(
    $data, 
    function($value) {
        return $value[0];
    }
);