PHP无法在数组中分配值

时间:2017-08-22 20:57:56

标签: php arrays syntax-error

我无法做到这一点!我只是尝试从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']];
}

我尝试用双引号替换单引号但没有成功..

度过了糟糕的一天: - (

1 个答案:

答案 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语法。