我正在开发移动应用程序,其中我使用WebSql作为本地数据库。现在我正在创建一个搜索功能,我想在用户搜索记录时转义“_”。我尝试使用MS-SQL方法将其传递给方括号“[_]”
以下是我的代码示例
if ($.trim($('#txtPolicy').val()).length > 0) {
policy = $.trim($('#txtPolicy').val());
if (policy.indexOf("_") >= 0)
policy = policy.replace(/_/g, "[_]");
query += " (";
var arrploicy = policy.split(',');
for (var j = 0; j < arrploicy.length; j++) {
query += " policy like ? or ";
arr[i] = "%" + arrploicy[j] + "%";
++i;
}
query = query.substring(0, query.length - 3);
query += ") ";
}
我的记录数据为1234_456789。但它不会返回任何记录,可能是因为它可能将其视为字符串。
答案 0 :(得分:0)
您可以使用参数化查询而无需转义。它也更安全。