Почему mysql escape нарушает весь запрос? - PullRequest
2 голосов
/ 09 мая 2019

Я пытался найти проблему в этом запросе и, похоже, не могу ее найти, это сводит меня с ума. Вот мой код:

sql.query("INSERT INTO coinflips (host,host_side,items,join,expires,value,secret,hash,winningPercentage) VALUES (?,?,?,?,?,?,?,?,?)",[" "," "," "," "," ",0," "," ",0.5],(err)=>{
        if(err) return console.log(err);
});

Однако я получаю следующую ошибку:

'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'join,expires,value,secret,hash,winningPercentage) VALUES (\' \',\' \',\' \',\' \',\' \',0,\' at line 1'

Вот база данных:

https://ibb.co/LdywXQN

У меня никогда не было проблем с экранированием запросов, но вдруг этот перестал работать, я не понимаю, почему.

1 Ответ

2 голосов
/ 09 мая 2019

join - зарезервированное слово, вы должны экранировать его с помощью обратных галочек:

sql.query("INSERT INTO coinflips (host,host_side,items,`join`,expires,value,secret,hash,winningPercentage) VALUES (?,?,?,?,?,?,?,?,?)",[" "," "," "," "," ",0," "," ",0.5],(err)=>{
    // Here -------------------------------------------^----^
    if(err) return console.log(err);
});
...