Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie überprüfe ich, ob das Einfügen fehlschlägt?

Es hängt davon ab, ob.

Meistens möchten Sie nicht wissen, ob eine bestimmte Einfügung fehlgeschlagen ist. Sondern ob Ihre Website richtig funktioniert oder nicht. Im Allgemeinen sollte Ihr Code also nur

sein
$stmt = $db_con->prepare(" INSERT INTO mytable ( col ) VALUES ( ? ) ");
$stmt->execute( array('anything') );
echo 'successful';

wobei sowohl else als auch catch nutzlos sind.

Manchmal möchten Sie jedoch einen bestimmten Fehler abfangen . Verwenden Sie in diesem Fall catch. Hier ist ein Code aus meinem Artikel :

try {
    $pdo->prepare("INSERT INTO users VALUES (NULL,?,?,?,?)")->execute($data);
} catch (PDOException $e) {
    if ($e->getCode() == 1062) {
        // Take some action if there is a key constraint violation, i.e. duplicate name
    } else {
        throw $e;
    }
}

Hier können Sie einen bestimmten Fehler abfangen und behandeln.