【发布时间】:2013-05-08 10:38:19
【问题描述】:
我正在开发一个小型移动网络应用程序。我有一个带有LIKE 子句的查询。例如:
SELECT from posts WHERE (title LIKE '%car%') or (content LIKE '%car%');
我遇到的问题是 javascript 中的变量在其值周围有单引号。所以我得到以下信息:
SELECT from posts WHERE (title LIKE '%'car'%') or (content LIKE '%'car'%');
我以这种方式构建的实际字符串:
"SELECT from posts WHERE (title LIKE '%" + client.escape(input) + "%') or (content LIKE '%" + client.escape(input) + "%');"
【问题讨论】:
-
您是否从 Node 运行此查询?你用的是哪个mysql模块?
-
在调用 escape 之前将
%符号放入您的输入中。 -
SELECT from看起来也不是有效的 mysql 语法。 -
你是对的,只是在本地尝试过,
connection.scape()没有转义单引号,很奇怪。 -
我建议查看这些报价的来源。您对 javascript 的概括只是将它们放在那里是不正确的。
标签: javascript mysql sql node.js