我无法做到这一点!我只是尝试从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']];
}
我尝试用双引号替换单引号但没有成功..
度过了糟糕的一天: - (
答案 0 :(得分:3)
很可能是[]
语法,您需要使用array()
代替PHP< 5.4.0:
$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语法。