Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql HTML本地存储参数替换转义_Sql_Sqlite_Html - Fatal编程技术网

Sql HTML本地存储参数替换转义

Sql HTML本地存储参数替换转义,sql,sqlite,html,Sql,Sqlite,Html,我正在试验一个简单的基于HTML5本地存储的应用程序,我的代码中的参数替换转义(可能)有问题 我要执行的SQL行是: 从testTable中选择名称、标题,其中的名称类似于“%test%” 因此,我的Javascript行类似于: tx.executeSql(“从testTable中选择名称,其中名称类似“%”?%”,[search\u string], 这失败了(我认为),因为?被视为一个文本,因此解析器抱怨参数太多(search\u string) 我乐观地尝试使用?和[“%”,搜索字符串“

我正在试验一个简单的基于HTML5本地存储的应用程序,我的代码中的参数替换转义(可能)有问题

我要执行的SQL行是:

从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+的声誉才能投票-当我达到该级别时,它会回来。