請問設定了事務機制,故意設定第2條sql語句錯誤,為什麼最後還是執行了第1條sql語句? 不是應該回滾事務,所有不執行嗎?
陈老师
陈老师 2018-05-19 12:55:01
0
1
1182


<?php

$pdo=new PDO('mysql:host=localhost;dbname=student','root','root');

try{

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->beginTransaction();

## //第1條sql語句

$sqla="delete from chen where id=14";

$pdo->exec($sqla) ;

//第2天sql語句

$sqlb="delete froms chen where id=15"; //故意把from寫錯

$pdo->exec($sqlb);


#}catch(Exception $e){

$pdo ->rollBack();

$e->getMessage();

echo "操作失敗";

}

?>


陈老师
陈老师

全部回覆(1)
NULL

資料庫引擎是不是MyISAM,改成InnoDB試試看

  • 回覆 嗯 是的 發現問題了 非常感謝您 厲害
    陈老师 作者 2018-05-21 10:55:46
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!