Javascript 换行符为';及;
我正在为我的移动应用程序使用phonegap。我需要动态生成查询,然后执行查询Javascript 换行符为';及;,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在为我的移动应用程序使用phonegap。我需要动态生成查询,然后执行查询 qry += "('" + item1 + "','" + id + "','" + item2 + "','" + item3 + "'),"; item1、item2、item3应该是字符串,以便在执行时成功执行查询 在大多数情况下,上面这一点对于我的用例来说都很好。但我现在犯了一个意想不到的错误 如果项目1中的值为1'英尺或10'英尺代码中断,执行失败 我如何克服这个问题?[编辑了前面的答案] 试试这个
qry += "('" + item1 + "','" + id + "','" + item2 + "','" + item3 + "'),";
item1、item2、item3应该是字符串,以便在执行时成功执行查询
在大多数情况下,上面这一点对于我的用例来说都很好。但我现在犯了一个意想不到的错误
如果项目1中的值为1'英尺
或10'英尺
代码中断,执行失败
我如何克服这个问题?[编辑了前面的答案] 试试这个
函数fnescapequeotes(){
var item1=“福特”;
var item2=“道奇”;
var item3=“奔驰”;
var-id=100;
var qry=“(“+item1+”、“+id+”、“+item2+”、“+item3+”)、“;
警报(JSON.stringify(qry.slice(1,-1));
}
以下是一个ES2015解决方案,用于展示模板标签:
function esc(pieces, ...subs) {
var result = pieces[0];
for (var i = 0; i < subs.length; ++i) {
// uses `.escape`, use other escaping function if you want.
// for example with `/`
result += escape(subs[i]) + pieces[i + 1];
}
return result;
}
功能esc(件){
var结果=件[0];
var subs=[].slice.call(参数,1);
对于(变量i=0;i document.body.innerHTML=esc`(${hello})`代码>终于找到答案了,我们需要在Sql中而不是在jquery中使用转义字符串,用双单引号代替单引号解决了这个问题
item1.replace(/'/g, "''") ;
通过转义字符串。在此基础上,成功地完成了查询。但在db中,我得到的是#39而不是',它正在构建一个javascript字符串。它需要javascript转义(使用\'
),而不是HTML转义。如果变量的值是动态分配的,我如何使用\n转义它?您应该在问题中提到,查询转到MySQLYea,我忘记了那一个!
item1.replace(/'/g, "''") ;