sql >> Database >  >> RDS >> Mysql

PDO Transactie-instructie met uitvoerfout bij invoegen en ophalen

Voer nooit meerdere instructies uit met een enkele aanroep. Het zal niet werken als je inheemse bereidingen gebruikt en het is moeilijk om het goed te krijgen.

Splits het op in meerdere verklaringen en gebruik de functies van PDO om de laatst ingevoerde ID te krijgen.

$connection->beginTransaction();

$tr = $connection->prepare("INSERT INTO data(name, address, dated) VALUES('Umesh', 'Kathmandu', NOW())");
$tr->execute();
$DataID = $connection->lastInsertId();

$tr = $connection->prepare("INSERT INTO activity(data_id, activity, dated) VALUES(:DataID, 'Test Implemented', NOW() )");
$tr->execute(['DataID' => $DataID]);
$ActID = $connection->lastInsertId();

$connection->commit();


print_r($DataID, $ActID);



  1. HQL is null En !=null op een Oracle-kolom

  2. Hoe Raw SQL uit te voeren in SQLAlchemy

  3. PL/pgSQL-functies:Een normale tabel met meerdere kolommen retourneren met behulp van een execute-statement

  4. SQL Server ANSI_NULLS uitgelegd