运行这个sqlite语句时,我得到一个错误:输入不完整
return db.run(
`INSERT INTO articles(article_id, title, author, article) VALUES `+"('"+article_id+"', '"+data.title+"', '"+data.author+"', '"+data.article+"')",
(err) => callback(err, article_id));
怎么了?我已经记录了所有的数据输入,但是它们在查询中有正确的值(即没有丢失值)。是因为语法错误吗?请帮忙。
1条答案
按热度按时间rqmkfv5c1#
我怀疑您的一个变量包含与查询字符串冲突的字符,例如单引号。
不要咀嚼查询字符串中的变量。这既不安全(它使您的代码易于sql注入),又效率低下(数据库无法识别您正在运行同一个查询),而且容易出错。
相反,请使用参数化查询: