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

यदि फ़ील्ड में कोई निर्दिष्ट मान मिलता है, तो PDO MySQL कथन को अस्वीकार करें?

यदि आप पीडीओ का उपयोग कर रहे हैं, तो आप अपवाद को पकड़ सकते हैं और स्थिति कोड की जांच कर सकते हैं, उदाहरण के लिए

// make sure you're set to throw exceptions
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('INSERT INTO `user` (`email`) VALUES (?)');
try {
    $stmt->execute([$email]);
} catch (PDOException $e) {
    $errorInfo = $stmt->errorInfo(); // apparently PDOException#getCode() is pretty useless
    if ($errorInfo[1] == 1586) {
        // inform user, throw a different exception, etc
    } else {
        throw $e; // a different error, let this exception carry on
    }        
}

देखें http://dev.mysql. com/doc/refman/5.5/hi/error-messages-server.html#error_er_dup_entry_with_key_name

MySQLi का उपयोग करने पर प्रक्रिया समान होगी

$stmt = $mysqli->prepare('INSERT INTO `user` (`email`) VALUES (?)');
$stmt->bind_param('s', $email);
if (!$stmt->execute()) {
    if ($stmt->errno == 1586) {
        // inform user, throw a different exception, etc
    } else {
        throw new Exception($stmt->error, $stmt->errno);
    }
}



  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 को स्विफ्ट से कैसे कनेक्ट करें?

  2. अजाक्स पीएचपी ड्रॉप डाउन सूची

  3. लारवेल माइग्रेशन :मौजूदा विदेशी कुंजी से हटाएं ('कैस्केड') हटाएं

  4. Ubuntu पर अप्राप्य Percona/MySQL स्थापित करना

  5. MySQL क्वेरी को मास्टर विवरण तालिका से अलग मूल्य अल्पविराम मिलता है