sql >> Database >  >> RDS >> Mysql

hoe record insert in mysql te vinden met behulp van commit()

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.




  1. MySQL TABLE-instructie

  2. rs.last() geeft ongeldige bewerking voor alleen doorsturen resultatenset:last

  3. Een tekenreeks naar datum converteren en een uitzondering maken wanneer de opgegeven tekenreeks ongeldig is

  4. Selecteer alleen de tijdstempels van vandaag (sinds middernacht)