如何从 mysql netbeans 验证用户名和密码

How to validate username and password from mysql netbeans

大家好,我想使用 netbeans Jform 从我的 phpmyadmin 数据库验证用户名和密码

这是我的代码

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    String a = username.getText();
    String b = password.getText();
    try {
        //configDB is my connnection file to mysql
        java.sql.Connection conn = (Connection) config.configDB();
        String username = "select username from akun where username='" + a + "';";
        String password = "select password from akun where password='" + b + "';";

        java.sql.PreparedStatement us = conn.prepareStatement(username);
        java.sql.PreparedStatement pw = conn.prepareStatement(password);
        us.execute();
        pw.execute();

        if (a.equals(username.toString()) && b.equals(password.toString())) {
            JOptionPane.showMessageDialog(this, "Benar");
        } else {
            JOptionPane.showMessageDialog(this, "Username or Password is incorrect");
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, e.getMessage());
    }        // TODO add your handling code here:
}       

试试这个。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

String a = username.getText();
String b = password.getText();

try {
    
    java.sql.Connection conn = (Connection) config.configDB();
    String query = "select username, password  from akun where username='" + a + "';";

    java.sql.PreparedStatement ps = conn.prepareStatement(query);
    java.sql.ResultSet resultSet = ps.executeQuery(query);
    String un = "";
    String pw = "";
    while (resultSet.next()) {
            un = resultSet.getString("username");
            pw = resultSet.getString("password");
     }
    

    if (a.equals(us) && b.equals(pw)) {
        JOptionPane.showMessageDialog(this, "Benar");
    } else {
        JOptionPane.showMessageDialog(this, "Username or Password is incorrect");
    }

} catch (Exception e) {
    JOptionPane.showMessageDialog(this, e.getMessage());
}        // TODO add your handling code here:

}

您需要确保您的资源已关闭并正确使用PreparedStatement

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        String a = username.getText();
        String b = password.getText();
        try {
            // configDB is my connnection file to mysql
            try (java.sql.Connection conn = (Connection) config.configDB()) {
                String username = "select username from akun where username = ? and password = ?";

                java.sql.PreparedStatement ps = conn.prepareStatement(username);
                java.sql.Result rs = ps.executeQuery();

                if (rs.next()) {
                    JOptionPane.showMessageDialog(this, "Benar");
                } else {
                    JOptionPane.showMessageDialog(this, "Username or Password is incorrect");
                }
            }

        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, e.getMessage());
        } // TODO add your handling code here:
    }