HTML 本地存储参数替换转义
Posted
技术标签:
【中文标题】HTML 本地存储参数替换转义【英文标题】:HTML Local Storage parameter replacement escaping 【发布时间】:2011-02-08 21:40:22 【问题描述】:我正在试验一个简单的基于 html5 本地存储的应用程序,但在我的代码中出现参数替换转义(可能)的问题。
我要执行的 SQL 行是:
SELECT name, title FROM testTable WHERE name LIKE '%test%';
所以我的 javascript 行是这样的:
tx.executeSql( "SELECT name, title FROM testTable WHERE name LIKE '%?%'", [ search_string ],
这失败了(我认为)因为 ?
被视为文字,因此解析器抱怨参数太多(search_string
)。
我乐观地尝试使用???
和["'%", search_string, "%'"]
,但结果相同。
任何建议 - 我想这很明显,所以请保持温和。
【问题讨论】:
【参考方案1】:怎么样:
tx.executeSql(
"SELECT name, title FROM testTable WHERE name LIKE ?",
[ '%'+search_string+'%' ]
);
【讨论】:
我认为这可能是显而易见的!谢谢内德。我很惊讶它没有以“LIKE %foo%”结尾的 SQL 字符串结尾,我认为这是无效的 - 我认为你需要 ' 围绕字符串。不过,它对我有用。 @speewell 您应该将他的答案标记为已接受的答案,然后可能会放弃投票:) @speedwell:当你像这样使用参数替换时,它会负责构建整个字符串文字,包括必要的引号。 @MattC - 标记为已接受,但显然我需要 15 岁以上的声誉才能投票 - 当我达到那个级别时会回来。以上是关于HTML 本地存储参数替换转义的主要内容,如果未能解决你的问题,请参考以下文章