Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để phát hiện ResultSet trống từ MySQL?

Chỉ cần kiểm tra xem ResultSet # next () trả về true. Ví dụ:

public boolean exist(String username, String password) throws SQLException {
    Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;
    boolean exist = false;

    try {
        connection = database.getConnection();
        statement = connection.prepareStatement("SELECT id FROM user WHERE username = ? AND password = MD5(?)");
        statement.setString(1, username);
        statement.setString(2, password);
        resultSet = statement.executeQuery();
        exist = resultSet.next();
    } finally {
        close(resultSet, statement, connection);
    }

    return exist;
}

mà bạn có thể sử dụng như sau

if (userDAO.exist(username, password)) {
    // Proceed with login?
} else {
    // Show error?
}

Ngoài ra, bạn cũng có thể để nó trả về một User đầy đủ hoặc null nếu không có. Ví dụ:

public User find(String username, String password) throws SQLException {
    Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;
    User user = null;

    try {
        connection = database.getConnection();
        statement = connection.prepareStatement("SELECT id, username, email, dateOfBirth FROM user WHERE username = ? AND password = MD5(?)");
        statement.setString(1, username);
        statement.setString(2, password);
        resultSet = statement.executeQuery();

        if (resultSet.next()) {
            user = new User(
                resultSet.getLong("id"),
                resultSet.getString("username"),
                resultSet.getString("email"),
                resultSet.getDate("dateOfBirth"));
        }
    } finally {
        close(resultSet, statement, connection);
    }

    return user;
}

với

User user = userDAO.find(username, password);

if (user != null) {
    // Proceed with login?
} else {
    // Show error?
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn tốn kém làm hỏng máy chủ cơ sở dữ liệu - đang tìm cách giảm thiểu

  2. Nhóm MySQL theo 2 cột khi các giá trị được hoán đổi cho nhau trong các cột

  3. Làm cách nào để tìm các bản sao trong bảng mysql bằng PHP?

  4. Làm thế nào để cấp quyền truy cập từ xa vào máy chủ mysql cho người dùng?

  5. Cách tách thông tin mySQL để hiển thị trong các cột HTML