Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Periksa apakah ini duplikat

Jika Anda ingin memeriksa apakah username sudah digunakan :

SELECT * FROM users WHERE username = :username

Jika Anda mengembalikan satu baris :Anda membuang kesalahan Anda , jika tidak, Anda melakukan INSERT

Jadi kode Anda akan terlihat seperti ini :

if ($valid) {
    $pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql_check = "SELECT * FROM users WHERE username = :username";
    $test = $pdo->prepare($sql_check);
    $test->bindParam(':username', $username); 
    $test->execute;

Sekarang inilah dua solusi untuk memeriksa apakah Anda memiliki satu baris :

    if($test->rowCount() > 0) {
        // error
    }      

atau

    $user = $test->fetch();

    if (!empty($user)) {
        // error
    }

Dan sekarang jika Anda tidak memiliki kesalahan, apakah Anda memasukkan :

    else {
        //$password = md5($password);
        $sql = "INSERT INTO users (username,password,role) values(?, ?, ?)";
        $q = $pdo->prepare($sql);
        $q->execute(array($username,$password,$role));
        Database::disconnect();
        header("Location: index.php");
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql:dapatkan jumlah catatan antara dua tanggal-waktu

  2. Masalah MySQL dengan WHERE dalam klausa

  3. Menghubungkan ke instans Amazon RDS melalui instans EC2 menggunakan MySQL Workbench

  4. mysql konversi waktu 12 jam ke 24 jam

  5. Kelompokkan berdasarkan bulan termasuk bulan kosong