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

PDOで複数のクエリを実行すると、どのようにエラーが発生しますか?

    プリペアドステートメントを使用して答えを見つけました。すべての行セットをループした後、$stmt->errorInfo()を使用して、最後に実行されたクエリがエラーの原因であるかどうかを確認できます。 。

    $db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
    
    $sql = "
    DELETE FROM car; 
    INSERT INTO car(name, type) SELECT name, from FROM vehicle;
    ";
    
    $stmt = $db->prepare($sql);
    $stmt->execute();
    $i = 0;
    
    do {
      $i++;
    } while ($stmt->nextRowset());
    
    $error = $stmt->errorInfo();
    if ($error[0] != "00000") {
      echo "Query $i failed: " . $error[2];
      die();
    }
    


    1. SIDの代わりにサービス名を使用してOracleに接続する方法

    2. 画像をサーバーにアップロードし、画像パスをmysqlデータベースに保存します

    3. Apache-MySQLサービスが間違ったパスで検出されました。 /すでに使用されているポート

    4. PHPとmySQL:2038年バグ:それは何ですか?それを解決する方法は?