Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como encontrar a inserção de registro no mysql usando commit ()


Pelo que entendi, você espera que PDOException seja lançada quando a instrução falhar na execução. Mas, como posso ver, a exceção não é lançada por padrão nesses casos. Veja como você pode alterar isso aqui

Suponha que no seu caso você deva ter um código como este:
$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.

Suponha que isso funcione bem para você.

Observe que você não deve usar
$SqlQuery="INSERT INTO tab_photo VALUES('$PhotoID','$ProjectId','$Day','$barCode','$photoName','$PhotoXml')";

Em vez disso, você deve usar a associação de parâmetros:
$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);

Veja este para mais detalhes.