gpt4 book ai didi

javascript - 使用javascript插入带有变量的SQLite

转载 作者:行者123 更新时间:2023-11-30 10:56:01 24 4
gpt4 key购买 nike

我正在为 Firefox 开发一个扩展,我已经创建了 SQLite 数据库。将值插入表中时,我收到一条错误消息:

Error: Permission denied for http://en.wikipedia.org to call method UnnamedClass.toString on <>.

要插入的字符串值存储在一个变量中。

var book = "Harry Potter";
var myInsertQuery = 'INSERT INTO mybooks_tbl(title) VALUES('+ book + ');';

我们如何将数据作为变量而不是字符串插入到表中?

最佳答案

SQLite 遵循 string literals 的 ANSI 标准:

A string constant is formed by enclosing the string in single quotes ('). A single quote within the string can be encoded by putting two single quotes in a row

所以:

function sqlstr(s) {
return "'"+s.replace(/'/g, "''")+"'";
}

var query= 'INSERT INTO books(title) VALUES('+sqlstr(book)+');';

您必须记住像这样转义所有字符串文字,否则您将制造一个客户端 SQL 注入(inject)漏洞。

关于javascript - 使用javascript插入带有变量的SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1584480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com