Sql HTML本地存储参数替换转义
我正在试验一个简单的基于HTML5本地存储的应用程序,我的代码中的参数替换转义(可能)有问题 我要执行的SQL行是:Sql HTML本地存储参数替换转义,sql,sqlite,html,Sql,Sqlite,Html,我正在试验一个简单的基于HTML5本地存储的应用程序,我的代码中的参数替换转义(可能)有问题 我要执行的SQL行是: 从testTable中选择名称、标题,其中的名称类似于“%test%” 因此,我的Javascript行类似于: tx.executeSql(“从testTable中选择名称,其中名称类似“%”?%”,[search\u string], 这失败了(我认为),因为?被视为一个文本,因此解析器抱怨参数太多(search\u string) 我乐观地尝试使用?和[“%”,搜索字符串“
从testTable中选择名称、标题,其中的名称类似于“%test%”代码>
因此,我的Javascript行类似于:
tx.executeSql(“从testTable中选择名称,其中名称类似“%”?%”,[search\u string],
这失败了(我认为),因为?
被视为一个文本,因此解析器抱怨参数太多(search\u string
)
我乐观地尝试使用?
和[“%”,搜索字符串“%”,但结果相同
有什么建议吗?我想这是很明显的,所以请温柔一点。怎么样:
tx.executeSql(
"SELECT name, title FROM testTable WHERE name LIKE ?",
[ '%'+search_string+'%' ]
);
我想这可能是很明显的!谢谢你,内德。我很惊讶,结果不是以“LIKE%foo%”结尾的SQL字符串,我认为这是无效的-我认为你需要“绕过字符串”。不过,这对我很有效。@speewell你应该把他的答案标记为接受的答案,然后可能放弃投票:)@speedwell:当您使用这样的参数替换时,它会负责构建整个字符串文字,包括必要的引号。@MattC-标记为已接受,但显然我需要15+的声誉才能投票-当我达到该级别时,它会回来。