今天遇到这样一个问题,就是在jsp页面中更新mysql数据库,我打断点看传入的sql语句是正确的,把它拷贝到命令行下是可以正确更新数据库的。
但是在jsp页面中会报如下异常:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1还有就是如果我更新的字段内容中没有中文字符,就不会出错了。
是不是编码问题,能根据页面上的参数,获得正确的sql语句,那么页面上的编码应该没问题吧?
到底是哪里的原因呢?
请高手指导……谢谢诶

解决方案 »

  1.   

    当把英文字符更新为中文字符时,出现这个异常:
     "Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1"
    当把原来的中文字符更新为别的中文字符时出这样的异常:
     "Unknown column 'i' in 'where clause'"
      

  2.   

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1这个提示说的是你sql语句有问题 在''附近最还把SQl 和部分代码贴出来看看
      

  3.   

    你也可以简单的模拟测试下  看看sql是否有问题 在java里面写个测试类 看看 就是用原本的语句 能否正常持行
      

  4.   

    应该是mysql版本的问题,你仔细查查看
      

  5.   

    看看MySql数据库的编码设置的是什么,支不支持中文
      

  6.   

    各位大哥,我mysql数据库的版本是5.1的,我数据库里面手动写入一条中文信息,是可以的,读取也没问题,这应该能说明mysql编码支持中文吧。
    我也写过java类,用同样的代码,会出现同样的异常。
    我知道那些英文啥意思,关键是我感觉我一切都是正常的,不知道错在哪里……
      

  7.   

    应该是乱码的问题,组成sql语句出现乱码,所以会报上面的错误。
      

  8.   

    你服务器中设的是什么编码,设成utf-8试试,如果mysql里没有乱码的话。
      

  9.   

    sql语句里面含有中文了,不管是空格什么的都不行,重新写SQL语句把。
      

  10.   

    没有出现乱码,组成的sql语句我打断点看了,是正确的……
      

  11.   

    可我就想让sql中有中文啊,不然怎么把中文内容写入到数据库呢。
    但是有中文就报错、抛异常,我想知道是什么原因,你说重新写sql语句是何意思呢?
      

  12.   

    tomcat编码设置成utf-8不能解决问题
      

  13.   

    system.out.println() 打印你的SQL语句、然后复制过去执行
      

  14.   

    你后台用的是hibernate 还是直接用jdbc。你写一个测试方法,直接写sql语句看看能不能执行成功。