我使用准备好的语句编写了select语句。每次尝试运行它都会出现此错误。我如何克服这个错误?我的jdbc连接器是mysql-connector-
java-5.1.13-bin.jar。我的代码:
public Main_add_ad_to getAdDetail(int ad_id) {
Dbconnection db = new Dbconnection();
Connection con = db.getConnection();
ResultSet rs = null;
PreparedStatement stmt = null;
Main_add_ad_to detail_to = new Main_add_ad_to();
try {
String selectSQL = "SELECT * FROM ads_tbl where id = ?";
stmt = con.prepareStatement(selectSQL);
stmt.setInt(1, ad_id);
rs = stmt.executeQuery(selectSQL);
while (rs.next()) {
detail_to.setCat_ad(rs.getString("cat"));
detail_to.setType_ad(rs.getString("sale_type"));
detail_to.setBrand(rs.getString("brand"));
}catch (SQLException ex) {
Logger.getLogger(Lands_cls.class.getName()).log(Level.SEVERE, null, ex);
}
return detail_to;
}
错误代码..
2013年10月1日,下午1:23:23 sanin.lands.model.View_ads_cls getAdDetail
SEVERE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
错误在这一行
rs = stmt.executeQuery(selectSQL);
这样做
rs = stmt.executeQuery();
问题内容: 我使用准备好的语句编写了select语句。每次尝试运行时都会出现此错误。我如何克服这个错误?我的jdbc连接器是mysql-connector- java-5.1.13-bin.jar。我的代码: 错误代码.. 2013年10月1日,下午1:23:23 sanin.lands.model.View_ads_cls getAdDetail 问题答案: 错误在这一行 这样做
我正在使用我生成的一个准备好的语句,但在Java抛出的语句上出现了语法错误。然而,当我将PS的toString复制并粘贴到数据库的phpmyadmin中时,它的执行完美无缺。有什么想法会出错吗,我很难理解? 编辑:更改为PS.ExecuteUpdate(查询);还是不起作用。
问题内容: 我已经重写了我的网站php代码,并添加了MySQL存储过程。 在我的本地版本中,一切正常,但是在将网站上传到托管服务器后,我却收到致命错误“准备好的语句需要重新准备”。 有时页面加载,有时加载失败,我看到此错误。那是什么? 更新: 移到VPS服务器后问题不再存在。 感谢帮助。 问题答案: 这是可能的:MySQL错误#42041 他们建议提高的价值。 您可以在MySQL文档中阅读有关重新
问题内容: 这个问题已经在这里有了答案 : 我的PDO声明无效 (1个答案) 2年前关闭。 我正在尝试使用PDO准备好的语句为MySQL数据库上的查询创建正确的错误处理。我希望程序在检测到准备好的语句过程中出现错误时退出。利用PDO准备好的语句过程中的每个步骤都会在失败时返回的事实,我将这种令人讨厌的技巧归纳为: 通过执行以下操作: 两件事情。首先,这是非常冗长而愚蠢的。肯定有更好的办法。显然,我
问题内容: 这个问题已经在这里有了答案 : mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误? (1个答案) 3年前关闭。 我正在努力弄清MySQli,但我对错误报告感到困惑。我正在使用MySQLi’prepare’语句的返回值来检测执行SQL时的错误,如下所示: 但是,prepare语句的返回值是否仅检测SQL语句的前
我读到MySQL不支持服务器端查询计划缓存。所以如果我想使用PreparedStatements来获得性能优势,我能做的就是在JDBC连接中启用语句缓存。因此,根据文档,它将允许缓存每个连接基础上准备好的语句。 与如果MySQL有服务器端查询计划缓存相比,JDBC连接的PreparedStatement缓存的性能增益是什么?因此,如果PreparedStatement确实在物理连接的缓存中找到,这