php - PHP无法在数组中分配值

标签 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']];
}

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

日子不好过:-(

最佳答案

很可能是[]语法,对于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/

相关文章:

arrays - SKTextures 未加载到 iPod Touch 上的阵列中

c - C程序中的' 'struct'之前的预期表达式 ' and '参数太少以至于无法起作用'

sql - 更新SQL语法-通过串联将字段重置为其自身-SQLServer 2005

php - 自定义配置文件不适用于表单验证

javascript - 使用 AJAX 从数据库自动填写表单输入字段

php - select 命令在 php/mysql 中不起作用

mysql创建 View 报错1052

php - 条件开关的问题

c - 如何(从函数)返回包含数组且该数组中包含正确元素的结构?

ios - NSPredicate 使用列表中的任何对象搜索数组 |对象C