sql >> Databasteknik >  >> RDS >> Mysql

hur man hittar post insert till mysql med commit()

Som jag förstår förväntar du dig att PDOException kommer att kastas när satsen inte kan köras. Men som jag kan se är undantag inte som standard i sådana fall. Se hur du kan ändra det här

Anta att du i ditt fall ska ha en kod som denna:

$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.

Anta att detta kommer att fungera bra för dig.

Observera att du inte ska använda

$SqlQuery="INSERT INTO tab_photo VALUES('$PhotoID','$ProjectId','$Day','$barCode','$photoName','$PhotoXml')";

Istället för det bör du använda parameterbindning:

$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);

Se det här för mer information.




  1. Beräkna procentvärde med MySQL

  2. Simulerar MySql OLD_PASSWORD i .NET eller MS SQL?

  3. MySQL - infoga japanska från PHP - Encoding Troubles

  4. Regex för att matcha MySQL-kommentarer