为什么这个聚合函数查询会出现语法错误?

use*_*291 0 php mysql sql

我试图在实际的服务器上运行此代码,但它给出语法错误,而相同的查询在我的localhost上完美运行.我尝试了几种可能但没有运气.谁能告诉我这是什么问题?

<?php
    $connection = new mysqli("localhost", "username", "password", "database");

    $first_id = $connection->query("SELECT MIN(id) AS first_id FROM sample")->fetch_array(MYSQLI_ASSOC)['first_id'];
echo $first_id;

?>
Run Code Online (Sandbox Code Playgroud)

这是我得到的语法错误.

解析错误:语法错误,第5行意外'['

Joh*_*nde 5

您正在进行阵列解除引用,仅适用于PHP 5.4+.您没有运行PHP 5.4+.

更改

$first_id = $connection->query("SELECT MIN(id) AS first_id FROM sample")->fetch_array(MYSQLI_ASSOC)['first_id'];
Run Code Online (Sandbox Code Playgroud)

至:

$first = $connection->query("SELECT MIN(id) AS first_id FROM sample")->fetch_array(MYSQLI_ASSOC);
$first_id = $first['first_id'];
Run Code Online (Sandbox Code Playgroud)