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