は私のスクリプトです:PDOトランザクションにはどのようなコードがありますか?ここ
$id = $_GET['id'];
$value = $_GET['val'];
// database connection here
try{
$db_conn->beginTransaction();
// inserting
$stm1 = $db_conn->prepare("INSERT into table1 (col) VALUES (?)");
$stm1->execute(array($value));
// updating
$stm2 = $db_conn->prepare("UPDATE table2 SET col = "a new row inserted" WHERE id = ?");
$stm2->execute(array($id));
$db_conn->commit();
}
catch(PDOException $e){
$db_conn->rollBack();
}
私が知りたいすべてが、私はbeginTransaction()
とcommit()
の間にあるコードでif
ステートメントを使用することができますか?このようなもの:
$id = $_GET['id'];
$value = $_GET['val'];
// database connection here
try{
$db_conn->beginTransaction();
// inserting
$stm1 = $db_conn->prepare("INSERT into table1 (col) VALUES (?)");
$stm1->execute(array($value));
// updating
if (/* a condition here */){
$stm2 = $db_conn->prepare("UPDATE table2 SET col = "a new row inserted" WHERE id = ?");
$stm2->execute(array($id));
}
$db_conn->commit();
}
catch(PDOException $e){
$db_conn->rollBack();
}
できますか?あなたが早すぎるとのお取引を閉じる可能性があるので
は仕事と危険ですません。
は実際に私がhereはあなたができないと言う文で、それを行うためには危険であることを尋ねましたネストされたcommit()。
は再びそこにコメントをお読みください。彼は言った、あなたは1つしかない間にトランザクションを入れ子にしました。 – Chay22
@ Chay22私はそれを何度か読んだ..問題は私の貧しい英語です..とにかくありがとう。 – stack
ハ、同じ問題があります。 – Chay22