您正在尝试通过连接到 MySQL 数据库并基于以下内容检索特定行来为 Java 程序创建验证类:构造函数参数。但是,您的代码未按预期运行。
要解决此问题,您需要修改代码以使用 setString() 方法来设置 userID 参数。这不仅可以确保语句格式正确,还可以防止 SQL 注入,这对于数据库安全非常重要。
以下是更新后的代码片段:
import java.sql.*; import java.sql.PreparedStatement; import java.sql.Connection; public class Validation { private PreparedStatement statement; private Connection con; private String x, y; public Validation(String userID) { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "root", ""); statement = con.prepareStatement( "SELECT * from employee WHERE userID = ?"); statement.setString(1, userID); ResultSet rs = statement.executeQuery(); while (rs.next()) { x = rs.getString(1); System.out.print(x); System.out.print(" "); y = rs.getString(2); System.out.println(y); } } catch (Exception ex) { System.out.println(ex); } } }
通过合并这些更改,您可以将能够有效地将参数传递给您的 JDBCPreparedStatement,降低 SQL 注入风险并确保从数据库中正确检索数据。
以上是如何在 Java 中安全地将参数传递给 JDBCPreparedStatement?的详细内容。更多信息请关注PHP中文网其他相关文章!