PHP MYSQLI中事務處理


 

MYSQL事務處理讓所有sql語句執行成功后才去處理,如果有一條沒有成功或者報錯就會回滾事務,防止敏感操作處理失敗。MYSQL中只有INNODB和BDB類型的數據表才能支持事務處理!其它類型是不支持的!

$mysqli->autocommit(FALSE); //關閉自動提交功能
$sql = "UPDATE users SET money = money-300 WHERE username = 'Mike'";
$res1 = $mysqli->query($sql);
$res1_rows = $msyqli->affected_rows;
$sql2 = "UPDATE users SET money = money+300 WHERE username = 'Tom'";
$res2 = $mysqli->query($sql2);
$res2_rows = $mysqli->affected_rows;
if($res1 && $res1_rows>0 && $res2 && $res2_rows>0){
$msyqli->commit(); //提交事務
echo '執行成功';
$mysqli->autocommit(TRUE); //開啟自動提交功能
else{
//事務回滾
$mysqli->rollback();
echo '執行失敗;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM