Вы не можете выполнить несколько запросов за один вызов query()
.Вместо этого разделите ваш запрос на два вызова, например
$sql = "SET @felhasz := (SELECT user_id FROM `items_subtitles` GROUP BY user_id ORDER BY SUM(status) DESC LIMIT 1);";
$conn->query($sql) or die($conn->error);
$sql = "SELECT displayname FROM `users` WHERE id=@felhasz;";
$result = $conn->query($sql);
. Или вы можете просто объединить их в один, заменив переменную во втором запросе значением из первого:
$sql = "SELECT displayname FROM `users` WHERE id=(SELECT user_id FROM `items_subtitles` GROUP BY user_id ORDER BY SUM(status) DESC LIMIT 1);";
$result = $conn->query($sql);
Обратите внимание, что вы также можете использовать multi_query()
, но это усложняет получение набора результатов из второго запроса (см. Руководство по этому вопросу).