この記事では、PHP mysql トランザクション ロールバック操作の例を紹介します。トランザクション ロールバックについて知りたい人は参考にしてください。操作方法はとても簡単です。
MYSQL の INNODB および BDB タイプのデータ テーブルのみがトランザクション処理をサポートできます。他のタイプはサポートされていません。
コードは次のとおりです | コードをコピー |
パブリック関数 insertUser ($userArray){ foreach ($userArray as $key => $value) { @$field .= "$key,"; @$content .= "'$value',"; } $field = ereg_replace(',$', '', $field); $content = ereg_replace(',$', '', $content); $db = db_connect() //データベースに接続します $db->autocommit(FALSE); //非自動コミットに設定 - トランザクション処理 $sql1 = "t_user (".$field.") VALUES (".$content.")"に挿入します。 $result1 = $db->query($sql1); $sql2 = "t_userpost (f_username) の値に挿入 ('".$userArray['f_username']."')"; $result2 = $db->query($sql2); if ($result1 && $result2) { $db->commit(); //すべて成功、実行結果を送信 「送信」をエコーします; } その他 { $db->rollback(); //エラーが発生した場合は、実行結果をロールバックしてキャンセルします エコー「ロールバック」; } $db->close(); } |