首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Mysql中查询语句中占位符有关问题

2014-01-14 
Mysql中查询语句中占位符问题想用占位符实现页面对servlet传参,再对Mysql数据库进行查询,可是一直不知道哪

Mysql中查询语句中占位符问题
想用占位符实现页面对servlet传参,再对Mysql数据库进行查询,可是一直不知道哪错了
代码
Connection conn = DriverManager.getConnection(url,username,password);
String sql = "select * from tb_book where name=? or author=?";
PreparedStatement ps= conn.prepareStatement(sql); 
ps.setString(1,name);
ps.setString(2,author);
ResultSet rs = ps.executeQuery(sql);
出错信息
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 '? or author=?' at line 1
[解决办法]
ResultSet rs = ps.executeQuery(sql);
改成
ResultSet rs = ps.executeQuery();
[解决办法]
mysql编码配置的问题。
另外,打印出author是否在传入的时候已经是乱码了

http://blog.csdn.net/millia/article/details/5806774

热点排行