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

commit()を使用してmysqlへのレコード挿入を見つける方法

    私が理解しているように、ステートメントの実行に失敗するとPDOExceptionがスローされることを期待しています。しかし、私が見ることができるように、そのような場合、デフォルトでは例外はスローされません。そのを変更する方法をご覧ください。

    あなたの場合、次のようなコードが必要だとします:

    $conn = new PDO($connection_string); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // this will force PDO to throw exception when SQL statement fails instead of simply setting an error.
    

    これでうまくいくとしましょう。

    は使用しないでください。
    $SqlQuery="INSERT INTO tab_photo VALUES('$PhotoID','$ProjectId','$Day','$barCode','$photoName','$PhotoXml')";
    

    その代わりに、パラメータバインディングを使用する必要があります:

    $SqlQuery="INSERT INTO tab_photo VALUES(:PhotoID,:ProjectId,:Day,:barCode,:photoName,:PhotoXml)";
    $stmt = $conn->prepare($SqlQuery);
    $conn->beginTransaction();
    $stmt->execute(array(':PhotoID' => $PhotoID, ':ProjectId' => $ProjectId, ....));
    sleep(1);
    

    これ を参照してください 詳細については。




    1. このSQLに増分値を組み込む

    2. java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:適切なドライバーを読み込んでいますか?

    3. SQLServerドライバーを使用してPDO経由でSQLServerに接続する

    4. SQL Serverのデフォルト言語を変更するにはどうすればよいですか?