在php中以逗号分隔合并Mysql列输出

时间:2014-05-28 10:05:00

标签: php mysql sql arrays

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

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]给我一个单词' Array'

echo implode(",",$ rows);给了我1Array',Array1

我试过

echo json_encode($rows[0]);

给了我

["1"]

我只想要1,2

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

感谢。

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

}

应该这样做,使用echo它会将结果输出为关联数组

答案 2 :(得分:0)

只需对您的代码进行简单的修改:

$rows[] = $row;

成:

$rows[] = $row[0];

并使用:

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

答案 3 :(得分:0)

试试这个

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