【发布时间】:2015-11-11 12:02:18
【问题描述】:
我正在尝试查询 MySQL 数据库
statement = conn.createStatement();
String sql = "select * from file_post where gas_key='"+commun+"'";
fp =statement.executeQuery(sql);
commun 在哪里
String commun= (String) session.getAttribute("commun");
我遇到了异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:'where 子句'中的未知列'bro'
bro 是 commun 的值。
我也试过PreparedStatement,但这也给了我同样的例外。
但是当我在 MySQL 命令行中进行查询时:
select * from file_post where gas_key='bro';
那里很完美,并返回准确的数据。
我不明白为什么在 Java 类中使用相同的查询时会出现异常。
【问题讨论】:
-
您是否在表格中新添加了这一列。提交它。它可能对您在该特定会话中使用的任何 IDE 的 SQL Developer 可见。
-
小心:以这种方式构建查询会使您容易受到 SQL 注入 (read more) 的攻击。
-
@AmitBhati 先生,这个专栏不是新的
-
@WanderNauta 先生,我只是一个学生,我正在为一个大学项目做这个,所以我不太关心安全
-
@user3443275 你确定要给项目评分的人同样不关心吗? :)