您正在嘗試透過連接到 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中文網其他相關文章!