java.sql.SQLException: sql injection violation

坑的外观

提示如下:

Caused by: java.sql.SQLException: sql injection violation, syntax error: error pos 18, line 1, column 12, token EXCEPT : insert into 

问题分析

之前遇到过类似的错误,提示也是sql injection violation,字面理解就是sql注入错误,也就是说sql不对。

经常性是因为一些列名被怀疑是sql注入被拒绝,但是此次搞了半天都没找到问题,直接懵逼。

排除法

既然找不到问题,我就把sql精简只剩一列,即为insert into tablea (column1) values(null)形式,依然报错,说明那就不是列的问题,最后终于发现,是表名有问题。

解决方案

不管三七二十一,如果以后报此类错误,直接把表名、列名两边添加反引号如下:

`tablename`
发布了326 篇原创文章 · 获赞 238 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/woshisangsang/article/details/103479424