0
MY PHP代碼mysqli transaction
是mysqli_transaction不工作或我misundersatnd
<?php
/*db connection*/
$conn = mysqli_connect("localhost", "root", "", "test");
mysqli_autocommit($conn, FALSE);
$insert1 = mysqli_query($conn, "INSERT INTO user(name,age,gender) VALUES('DEEPU', 24, 'male')");
$insert2 = mysqli_query($conn, "INSERT INTO user(name,age,gender2) VALUES('ANIL', 25, 'male')");
mysqli_commit($conn);
mysqli_close($conn);
?>
我知道mysqli transaction
用於,如果事務中的任何操作失敗,整個交易將失敗。
問題:
在我的代碼第二個查詢是錯誤的,它使用gender2
,而不是gender
。由於一個查詢失敗,整個事務將失敗。但是這裏執行第一個查詢並將數據插入到表中。我希望沒有數據會插入表中,因爲第二個查詢失敗。
我的代碼中是否有任何錯誤?或者我完全誤解了這一點。
如果我使用
mysqli_rollback($conn);
它帶給pre-transactional
狀態。我使用innoDB
引擎。
我需要什麼
If both query is correct: data should insert.
If one is correct and other is wrong: no data will insert.
皮斯幫助...謝謝。