Node MySQL转义LIKE语句

8 浏览
0 Comments

Node MySQL转义LIKE语句

在node-mysql中如何转义MySQL的LIKE语句?

类似于以下的代码:

"SELECT * FROM card WHERE name LIKE '%" + connection.escape(req.body.search) + "%'"

会导致以下结果:

'SELECT * FROM card WHERE name LIKE \'%\'hello\'%\''

这是一个语法错误。如果我使用另一种语法:

connection.query("SELECT * FROM card WHERE name LIKE '%?%'", req.body.search, function () {});

也会导致类似的语法错误。我还尝试了以下方式:

connection.query("SELECT * FROM card WHERE name LIKE ?", '%' + req.body.search + '%', function () {});

但这只会转义 '%' 符号。

0