【问题标题】:Merge Mysql Column output as comma seperated in php在php中将Mysql列输出合并为逗号分隔
【发布时间】:2014-05-28 10:04:59
【问题描述】:

我有一个简单的查询,只输出一列(行号可能会改变)

SELECT column1 as NUMBER WHERE column1 ...

输出,

NUMBER
  1
  2

我只希望它作为 PHP 中的一个数组,并以逗号分隔。

原来如此,

$rows = array();
while ($row = mysql_fetch_row($result)) {
    $rows[] = $row;

如果我用 print_r 回显它,它的工作原理

但是由于某种原因,我无法从该数组中获取纯值。

echo $rows[0] 给了我“数组”这个词

echo 内爆(",", $rows);给我 1Array',Array1

我试过了

echo json_encode($rows[0]);

给我

["1"]

我只想要 1,2

经过多次不同的尝试后,我放弃了,并在 sql 查询中添加了 group_concat。我只想知道我做错了什么。

谢谢。

【问题讨论】:

  • 而不是$rows[] = $row;为什么不$rows[] = $row['column1'];

标签: php mysql sql arrays


【解决方案1】:

试试这个

SELECT GROUP_CONCAT(`column1` SEPARATOR ',') AS number FROM table where....

【讨论】:

    【解决方案2】:

    mysql_fetch_row 我返回一个单元素数组。要获得所需的输出,只需选择第一个元素:

    $rows = array();
    while ($row = mysql_fetch_row($result)) {
        $rows[] = $row[0];
    

    【讨论】:

      【解决方案3】:

      foreach($rows as $key => $value){

      }

      应该做到这一点,通过回显它将结果作为关联数组输出

      【讨论】:

        【解决方案4】:

        只需对您的代码做一个简单的修改:

        $rows[] = $row;
        

        进入:

        $rows[] = $row[0];
        

        并使用:

        implode(", ", $rows[]);
        

        【讨论】:

          猜你喜欢
          • 2013-07-03
          • 1970-01-01
          • 1970-01-01
          • 2018-01-29
          • 1970-01-01
          • 1970-01-01
          • 2010-10-14
          • 1970-01-01
          相关资源
          最近更新 更多