sql >> Database teknologi >  >> RDS >> Mysql

PDO Transaktionserklæring med indsæt og hent outputfejl

Du bør aldrig udføre flere sætninger ved hjælp af et enkelt opkald. Det virker ikke, hvis du bruger indfødte præparater, og det er svært at få det rigtigt.

Del det op i flere sætninger og brug PDO's funktioner til at få det sidst indsatte ID.

$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. script(while-loop) stopper og har ingen output, når der er valgt flere kolonner

  2. Hvordan genererer man data i MySQL?

  3. 2 måder at formatere et tal med førende nuller i Oracle

  4. Indsæt data i flere tabeller ved hjælp af én formular