Você tem um erro na sintaxe do seu SQL
Um script mandou para o banco um pedido que ele não conseguiu entender.
Faça isto primeiro
É um erro do script. Reporte para quem escreveu, com esta linha.
O que significa
O MySQL recusou a instrução. A mensagem cita o texto a partir do ponto em que ele desistiu, que é a parte mais útil de todas: seja lá o que for citado, o problema está ali ou logo antes.
O que causa isso
Ordenado pela frequência com que é a resposta.
- 1
Interpolação de strings em vez de parâmetros
Montar SQL com
..e um valor que traz uma aspa. Isso também é um buraco de injeção de SQL, então vale a pena consertar por dois motivos. - 2
Uma palavra reservada usada como nome de coluna
rank,groups,key,order,read. O MySQL 8 adicionourankcomo palavra reservada, e isso quebrou da noite para o dia um monte de esquemas antigos de FiveM. - 3
Uma vírgula sobrando no fim
SELECT a, b, FROM users— normalmente o que sobra depois de apagar uma coluna da lista. - 4
A quantidade de marcadores não bate
Mais
?do que valores, ou um parâmetro nomeado que nunca foi passado. Alguns drivers reportam isso como erro de sintaxe em vez de erro de vinculação. - 5
Várias instruções numa única consulta
O oxmysql não executa duas instruções separadas por
;numa chamada a não ser que o driver esteja configurado para isso.
Como saber qual é o seu
Leia o trecho citado no erro. Depois imprima o SQL final e execute na mão num cliente MySQL: se falhar igual lá, é a instrução; se funcionar, são os parâmetros.
Onde olhar
A string da consulta no resource, e os valores que são vinculados.
Como consertar
Use sempre marcadores de posição. Resolve o problema de sintaxe e o de injeção ao mesmo tempo:
-- errado
MySQL.query('SELECT * FROM users WHERE name = "' .. name .. '"')
-- certo
MySQL.query('SELECT * FROM users WHERE name = ?', { name })E coloque as palavras reservadas entre crases:
SELECT `rank` FROM users WHERE identifier = ?
Ainda travado no seu próprio código?
Esta página é o que esse erro costuma significar. Cole o seu console no Server Fixer e ele vai ordenar tudo o que estiver lá e te dizer o que fazer primeiro; e se você preferir não mexer, o ORBIE consegue consertar o script e te devolver o resource pronto para soltar.
bug_reportAbrir o Server FixerPara esse tipo de erro, o Script Optimizer detecta os padrões de consulta que causam isso.