我无法正确解决这个问题!我只是想从mysql表数据创建一个名称数组$json
,然后使用以下代码将此数据作为json返回:
json_encode($json)
在以下代码的第5行中获取语法错误,其中从循环内的数据库中为
$json
数组分配了值。$sql = "select * from mytable";
$result = $mysqli->query($sql);
$json = array();
while($row = $result->fetch_assoc()){
$json[] = ['id'=>$row['id'], 'text'=>$row['title']];
}
我尝试用双引号替换单引号..但是没有成功..
日子不好过:-(
最佳答案
很可能是[]
语法,对于PHP <5.4.0,您需要使用array()
代替:
$json[] = array('id'=>$row['id'], 'text'=>$row['title']);
但是,如果您更改查询以仅选择所需的列作为所需的名称并使用
fetch_all()
,则可能会容易得多:$sql = "select id, title AS text from mytable";
$result = $mysqli->query($sql);
$json = $result->fetch_all(MYSQLI_ASSOC);
如果只是IDE,请查看是否有更新或使它能够识别较新的PHP语法的方法。
关于php - PHP无法在数组中分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45826859/