sql >> Databáze >  >> RDS >> Mysql

Jak zkontrolovat, zda se vložení nezdaří?

Záleží.

Většinu času nechcete vědět, zda konkrétní vložka selhala. Ale spíše jestli váš web funguje dobře nebo ne. Obecně by tedy váš kód měl být jen

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

s tím, že ostatní i catch jsou k ničemu.

Někdy však možná budete chtít zachytit určitou chybu . V tomto případě použijte catch. Zde je kód z mého článku :

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;
    }
}

zde můžete zachytit určitou chybu a vyřešit ji.



  1. MySQL databáze atributů

  2. mySQL nastaví varchar bez speciálních znaků

  3. UPDATE s ORDER BY a LIMIT nefungující v MYSQL

  4. Připojte se k orákulu s příklady