Некорректно обрабатывается SQL запрос SQLite

Рейтинг: 0Ответов: 1Опубликовано: 01.07.2023

Я использую 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! Почему так происходит?

Ответы

▲ 0
db.run('INSERT INTO users (text) VALUES (?)', [data])

Данный код корректно работает. Третьим параметром может быть передана функция обрабатывающая ошибки.

Тем не менее, я все еще не понимаю почему это работает именно так, и почему мой старый код не работал... Если кто объяснит буду премного благодарен!