MyEcplise运行JavaWeb程序报错

运行Java web项目时出现问题:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'name' in 'where clause'
查看了一下,硬说是这里出现错误:
ResultSet rs = DBconn.selectSql("select * from police_user where name='"+name+"' and pwd='"+pwd+"'");
这里到底哪里出错了啊?
看网上都是说字段name没有加“”号,但是我明明加了啊??

2个回答

补充一下,对于有参数的SQL语句,最好不要将参数拼接在SQL中,容易出现关键字冲突或者SQL注入风险
建议用占位符通过PreparedStatement对象对占位符设置参数并执行参数,这样PreparedStatement会自动对处理特殊字符进行转义,就不存在SQL语法这种问题啦。

SSY_2019
SSY_2019 感谢
7 个月之前 回复
name是关键字,加上`符号,注意,是键盘上数字1右边的`
代码如下
ResultSet rs = DBconn.selectSql("select * from police_user where `name`='"+name+"' and pwd='"+pwd+"'");
SSY_2019
SSY_2019 谢谢您,问题已解决
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!