sinat_33676226
sinat_33676226
2017-08-30 11:19

java的preparedstatemen的setString(),setObject()匹配问题

10
  • java
  • 服务器
  • 数据库

关键代码如下:
String id =request.getParameter("id");
String password = request.getParameter("password");
Connection connection=null; PreparedStatement pStatement=null;

ResultSet rs = null;

try {

Class.forName("com.mysql.jdbc.Driver");
System.out.println("load Driver successfully");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","58546494"); String url="select * from users where id=? and passwd=?"; // jdbc:mysql://localhost:端口号/数据库名称","用户名","密码" pStatement=connection.prepareStatement(url); pStatement.setObject(1, id); pStatement.setString(2, password); rs=pStatement.executeQuery(); if(rs.next()){ request.getRequestDispatcher("/MainFrame").forward(request, response); System.out.println(id);数据库中的ID为整型,我传入其他类型服务器端不报错,重要的是ID只要前边的匹配了密码正确,就可以登陆成功,比如ID=1,密码=123,在界面输入ID 1SAFHj 这也可以登陆成功
图片说明
图片说明

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

6条回答

为你推荐