Mysql
 sql >> Database >  >> RDS >> Mysql

come trovare l'inserimento di record su mysql usando commit()

Da quanto ho capito, ti aspetti che venga generata PDOException quando l'istruzione non viene eseguita. Ma come posso vedere, l'eccezione non viene generata per impostazione predefinita in questi casi. Guarda come puoi cambiarlo qui

Supponiamo che nel tuo caso dovresti avere un codice come questo:

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

Supponiamo che questo funzionerà bene per te.

Tieni presente che non dovresti usare

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

Invece, dovresti usare l'associazione dei parametri:

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

Vedi questo per maggiori dettagli.