我有一个简单的查询,输出只有一列(行号可能会改变)
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。我只是想知道我做错了什么。
感谢。
答案 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....