som*_*ody 4 java mysql sql jdbc prepared-statement
我有一个Java代码:
String searchPerson = "select * from persons where surname like ? and name like ?";
//connect to DB
PreparedStatement statement = connect.prepareStatement(searchPerson);
statement.setString(1,"%"+ surname + "%");
statement.setString(2, "%" + name + "%");
ResultSet resultPerson = statement.executeQuery(searchPerson);
//..code
Run Code Online (Sandbox Code Playgroud)
然后我有SQLException:
你的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在"?"附近使用正确的语法
你应该执行PrepareStatement没有参数,如下所示:
statement.executeQuery()
Run Code Online (Sandbox Code Playgroud)
executeQuery使用String参数调用将按原样执行提供的查询(没有绑定参数).