对待 '?'在LIKE查询中作为文字

时间:2017-05-15 18:41:37

标签: javascript mysql

我有一个搜索栏,用户可以在网站上搜索特定的商家。我需要能够搜索名称中带有问号的公司(在最后或其他地方。)

然而,当我搜索像“我的公司?”这样的公司时,我的所有搜索都有效。它会抛出错误,指出?未定义。如何逃避它,以便查询不会像参数一样处理?

exports.getEscapedQuery = function( params ) {
   // Using Sequelize w/ Node
   var escapedSearch = db.sequelize.escape( '%' + params.q + '%' );

   return escapedSearch;
};

1 个答案:

答案 0 :(得分:0)

如果使用Sequelize(就像我一样),那么当前版本的(2.2.2)sequelize.escape()方法似乎并不善待?出现。在这种情况下,我能够在查询之前从所有搜索输入中删除?并解决了我的问题。