好的,这很像我的上一个问题(PHP convert a SQL request into JSON),但即使看起来很容易,也无法找到解决方案。
我有一个非常简单的SQL表:
$sql="CREATE TABLE
example (ID INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
status VARCHAR(50),
value VARCHAR(50));";
使用以下值:
1 | name1 | open | value1
2 | name2 | open | value2
3 | name3 | close | value3
我拨打了所需的数据:
$sql= "SELECT * FROM example where status='open'";
$result= mysqli_query($link,$sql);
$arrayofdata = mysqli_fetch_array($result);
由于$ arrayofdata里面可能有1个或多个数组,我试试这个:
$JSONED = json_encode($arrayofdata);
但输出值非常奇怪,我不明白为什么,它不包括[]括号(据我所知JSON格式,[]应该是JSON字符串的第一个和最后一个元素)< / p>
我想要一个像这样的JSON对象:
[{1,"name1","open","value1"},{2,"name2","open","value2"}]
可以直接完成吗?或者代码是否必须与$ arrayofdata交互以逐步创建新数组?
答案 0 :(得分:1)
您可以通过以下代码获得您的愿望结果:
$sql= "SELECT * FROM example where status='open'";
$result= mysqli_query($link,$sql);
$data = array();
while ($row = mysql_fetch_assoc($result)) {
//... maybe some processing of $row here ...
$data[] = $row;
}
echo json_encode($data);