Javascript + mysql“简单引用”

时间:2013-10-04 20:31:40

标签: javascript mysql sql sql-like

如何解决此错误

  

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在第1行'\'%VALUE%\'LIMIT 60,20'附近使用正确的语法

有问题的代码是

  var nombreBuscado = $('input[name=nombreBuscado]').val();
    if (nombreBuscado !== "") {

    statement = " VIEW WHERE COLUMN  LIKE  " + "\'%" + nombreBuscado + "%\'" ;
}

sql格式错误

SELECT * FROM VIEW WHERE COLUMN LIKE \'%VALUE%\' LIMIT 60 , 20

EDITED  选择在视图上方,我检查区分大小写

1 个答案:

答案 0 :(得分:1)

你应该有这样的东西:

var nombreBuscado = $('input[name=nombreBuscado]').val();
    if (nombreBuscado !== "") {

    statement=" VST_ContribuyentesConPV WHERE NOM_CONTRIBUYENTE LIKE  " 
                + "'%" + nombreBuscado + "%'" ;
}

使用'你不必为了逃避它,因为你是一个双引号分隔的字符串。这将打印:

SELECT * FROM VST_ContribuyentesConPV WHERE NOM_CONTRIBUYENTE LIKE '%VALUE%'

如果你想使用双引号,那么你必须逃避它们:

var nombreBuscado = $('input[name=nombreBuscado]').val();
    if (nombreBuscado !== "") {

    statement=" VST_ContribuyentesConPV WHERE NOM_CONTRIBUYENTE LIKE  " 
                + "\"%" + nombreBuscado + "%\"" ;
}

这将输出:

SELECT * FROM VST_ContribuyentesConPV WHERE NOM_CONTRIBUYENTE LIKE "%VALUE%"

最后一个选项是将所有"替换为'。这将使转义(\')工作:

var nombreBuscado = $('input[name=nombreBuscado]').val();
    if (nombreBuscado !== "") {

    statement=' VST_ContribuyentesConPV WHERE NOM_CONTRIBUYENTE LIKE  ' 
                + '\'%' + nombreBuscado + '%\'' ;
}

jsFiddle demo