このエラーの原因:
グループ関数の不適切な使用
エラーの原因となっているSQLコードは次のとおりです。
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance` + 5)
WHERE ('" . $session->value('user_id') . "') ";
GROUP BY
集計関数には、句による集計が必要です。これがないと、クエリは無効になります。
これを試して
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance`) + 5
WHERE ('" . $session->value('user_id') . "') "
エラーが何であるかを知らずに、私はそれがMIN(balance + 5)
. MIN(balance) + 5
つまり、MINは算術式ではなく、列名のみを使用する必要があります。
これがあなたが探しているものだと思います:
UPDATE database1.users a
INNER JOIN
(SELECT id, MIN(balance)
FROM database1.users
WHERE user_id= ('" . $session->value('user_id') . "')
GROUP BY id
) b
ON a.id = b.id
WHERE user_id = ('" . $session->value('user_id') . "');