Некорректно обрабатывается SQL запрос SQLite
Я использую Node.js, делаю запрос к моей базе данных SQLite:
db.serialize(() => {
db.run('INSERT INTO users (text) VALUES ('+ data +')')
})
data это значение из input type="text". Если там цифры то все работает корректно, но если там текст, я получаю ошибку:
no such column: blabla Emitted 'error' event on Statement instance at: ] { errno: 1, code: 'SQLITE_ERROR' }
Почему то происходит поиск столбца под названием data но ведь я его указал в VALUES! Почему так происходит?
Ответы (1 шт):
Автор решения: Dlazder
→ Ссылка
db.run('INSERT INTO users (text) VALUES (?)', [data])
Данный код корректно работает. Третьим параметром может быть передана функция обрабатывающая ошибки.
Тем не менее, я все еще не понимаю почему это работает именно так, и почему мой старый код не работал...