sql >> Databáze >  >> RDS >> Mysql

jak najít vložení záznamu do mysql pomocí commit()

Jak jsem pochopil, očekáváte, že když se příkaz nepodaří provést, bude vyvolána výjimka PDO. Ale jak vidím, výjimka se ve výchozím nastavení v takových případech nevyvolává. Jak to můžete změnit zde

Předpokládejme, že ve vašem případě byste měli mít kód jako tento:

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

Předpokládejme, že to pro vás bude fungovat dobře.

Vezměte prosím na vědomí, že byste neměli používat

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

Místo toho byste měli použít vázání parametrů:

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

Viz toto pro více podrobností.




  1. Jak zabránit duplicitnímu vkládání do tabulky

  2. Vyberte průměr z tabulky MySQL pomocí LIMIT

  3. Vyberte až x řádků každé skupiny

  4. Nejlepší způsob, jak se naučit uložené procedury PostgreSQL?