Panggil saja "eksekusi" setelah Anda memanggil "beginTransaction".
Di mana Anda memanggil "bersiap" tidak terlalu penting.
Berikut ini contoh lengkapnya:
http://php.net/manual/en/pdo.begintransaction.php
CONTOH:
try {
$cnx = new PDO($dsn,$dbuser,$dbpass);
$cnx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$cnx->beginTransaction();
$stmt=$cxn->prepare("SELECT * FROM users WHERE username=?");
$stmt->execute(array($user_input));
$stmt_2=$cxn->prepare("SELECT * FROM othertable WHERE some_column=?");
$stmt_2->execute(array($user_input_2));
$cnx->commit();
}
catch (Exception $e){
$cxn->rollback();
echo "an error has occurred";
}
PS:1) Saya berasumsi, tentu saja, bahwa $user_input dan $user_input_2 tersedia segera. Anda tidak ingin transaksi Anda dibiarkan terbuka terlalu lama;)
2) Berdasarkan balasan komentar Anda di atas, saya pikir Anda mungkin membingungkan "eksekusi" dan "mulai tran/komit". Silakan lihat tautan saya.
3) Apakah Anda bahkan membutuhkan sebuah transaksi? Anda hanya melakukan dua "pilihan".
4) Terakhir, mengapa tidak melakukan satu "gabung" (atau penyatuan, jika kompatibel) alih-alih dua "pilih"?