Zoals ik begrijp, verwacht je dat PDOException wordt gegenereerd wanneer de instructie niet kan worden uitgevoerd. Maar zoals ik kan zien, wordt in dergelijke gevallen standaard geen uitzondering gegenereerd. Bekijk hoe u dat hier kunt wijzigen
Stel dat u in uw geval een code als deze zou hebben:
$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.
Stel dat dit voor jou goed werkt.
Houd er rekening mee dat u
. niet mag gebruiken$SqlQuery="INSERT INTO tab_photo VALUES('$PhotoID','$ProjectId','$Day','$barCode','$photoName','$PhotoXml')";
In plaats daarvan moet u parameterbinding gebruiken:
$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);
Zie dit voor meer details.