【发布时间】:2015-01-17 05:47:40
【问题描述】:
我正在尝试从 mysql 中获取一个数组并打印每一列的值。
这是我目前所拥有的:
获取所有列:
$query = "SHOW COLUMNS FROM user_settings";
$resultx = mysql_query($query);$temp=0;$p = array();
while ($row = mysql_fetch_array($resultx)) {
$p[$temp] = $row["Field"];$temp++;
}
Foreach 列名获取数据 where user id = $SESSION['id']
foreach ($p as $f) {
$json = array();
$newquery = "SELECT * FROM user_settings WHERE uid = '" . $_SESSION['id'] ."'";
$newresult = mysql_query($newquery);
while($newrow = mysql_fetch_array($newresult)) {
$json[$f] = $newrow[$f];
}
print json_encode($json);
}
这很好用。问题是打印出来的数组是这样的:
{"column1":"data"}{"column2":"data"}{"column3":"data"}
我希望打印 json 编码:
[{"column1":"data","column2":"data","column3":"data"}}
【问题讨论】:
-
你为什么要获取列,然后查询所有列的同一个表?但是在一个不相关的注释上,尝试将打印移动到 foreach 循环之外
-
因为我正在学习php。我不确定我还能怎么做。可以请教吗?
-
@DavidJones 如果我将打印移出 foreach 循环,我只会得到:{"column3":"data"}
标签: php mysql json printing encode