sql >> データベース >  >> RDS >> Mysql

挿入が失敗するかどうかを確認するにはどうすればよいですか?

    場合によります。

    ほとんどの場合、特定の挿入が失敗したかどうかを知りたくありません。しかし、むしろあなたのサイトがうまく機能しているかどうか。したがって、一般的に、コードは次のようになります

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

    他の両方とキャッチは役に立たない。

    ただし、特定のエラーをキャッチしたい場合があります 。この場合、catchを使用します。これが私の記事のコード です。 :

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

    ここでは、特定のエラーをキャッチして処理できます。



    1. mysql errno:150「外部キー制約が正しく形成されていません」-MariaDB

    2. MySQLテーブルデータをデータソースとして使用してGoogleグラフを生成できません

    3. 日付関数で列を折り返すときにmysqlがインデックスにヒットする理由

    4. 進化する連絡先情報はデータベースを変更することを意味しますか?