Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment trouver une insertion d'enregistrement dans mysql en utilisant commit ()

Si je comprends bien, vous vous attendez à ce que PDOException soit levée lorsque l'exécution de l'instruction échoue. Mais comme je peux le voir, l'exception n'est pas levée par défaut dans de tels cas. Voyez comment vous pouvez changer cela ici

Supposons que dans votre cas, vous devriez avoir un code comme celui-ci :

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

Supposons que cela fonctionnera bien pour vous.

Veuillez noter que vous ne devez pas utiliser

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

Au lieu de cela, vous devez utiliser la liaison de paramètres :

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

Voir ceci pour plus de détails.