Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जांचें कि क्या यह डुप्लिकेट है

यदि आप जांचना चाहते हैं कि username पहले से ही उपयोग किया जा चुका है :

SELECT * FROM users WHERE username = :username

यदि आप एक पंक्ति लौटाते हैं:आप अपनी त्रुटि फेंक देते हैं , अन्यथा आप अपना INSERT . करें

तो आपका कोड इस तरह दिखना चाहिए:

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;

अब यह जांचने के लिए दो समाधान हैं कि क्या आपके पास एक पंक्ति है:

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

या

    $user = $test->fetch();

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

और अब अगर आपको कोई त्रुटि नहीं है, तो क्या आप सम्मिलित करते हैं:

    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 अपवाद:किसी भी निर्दिष्ट MySQL होस्ट से कनेक्ट करने में असमर्थ। सी # के माध्यम से

  2. पीएचपी पीडीओ बनाम सामान्य mysql_connect

  3. IllegalArgumentException:प्रकार अशक्त नहीं हो सकता

  4. mysql प्रश्नों में पिवट करें

  5. MySQL और PHP के साथ बड़ी मात्रा में डेटा को कुशलतापूर्वक संसाधित करना