简体   繁体   English

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

[英]How can I get all rows of 1 column using PDO?

I'm new to PDO, I'm running a query like: 我是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;
    ?>

Then I am using it like: 然后我像这样使用它:

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

but this outputs the values of 4 columns from 1 row, but I want the values of all rows in 1 column. 但这从1行输出4列的值,但是我想要1列中所有行的值。 How can I do this? 我怎样才能做到这一点?

For example here is the table: 例如,这是表:

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

I want the output to be 我希望输出是

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

not

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

For PHP >= 5.5 对于PHP> = 5.5

$c1 = array_column($data, 0);

for earlier versions of PHP 适用于早期版本的PHP

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM