2

如何解决此错误

您的 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

编辑选择在视图上,我检查区分大小写

4

1 回答 1

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

于 2013-10-04T21:26:35.140 回答