PHP中PDO的MYSQL事務處理例項

2021-07-22 11:25:15 字數 1375 閱讀 5336

事務(transaction)是由查詢和/或更新語句的序列組成。 用 begin、start transaction

開始乙個事務,rollback 回滾事務,commit 提交事務。 在開始乙個事務後,可以有若干個 sql 查詢或更新語句,每個 sql

遞交執行後,還應該有判斷是否正確執行的語句,以確定下一步是否回滾,若都被正確執行則最後提交事務。

事務一旦回滾,資料庫則保持開始事務前狀態。就好象乙個被編輯的檔案不存檔退出,自然還是保持檔案原來的樣子。

所以,事務可被視為原子操作,事務中的 sql,要麼全部執行,要不一句都不執行。

1.關閉自動提交

2.開啟事務處理

3.有異常就自動丟擲異常提示再回滾

4.開啟自動提交

mysql只有這個innodb驅動是支援事務處理的,預設myisam驅動不支援.

<?phptrycatch(pdoexception $e)/** 事務處理**   張三從李四那裡買了一台 2000 元的電腦*     從張三帳號中扣出 2000元*     向李四賬號中加入 2000元*     從商品表中減少一台電腦*     myisam  innodb*/try where id=1";$affected_rows=$pdo->exec($sql);if(!$affected_rows)thrownewpdoexception("張三轉出失敗");//那個錯誤丟擲異常$sql="update zhanghao set price=price+ where id=3";$affected_rows=$pdo->exec($sql);if(!$affected_rows)thrownewpdoexception("向李四轉入失敗");echo "交易成功!";$pdo->commit();//交易成功就提交}catch(pdoexception $e)//自動提交,如果最後不自動提交,轉賬是不成功的$pdo->setattribute(pdo::attr_autocommit,1);//設定錯誤報告模式 errmode_silent    errmode_warning

PHP中PDO的事務處理分析

事務處理具有四個特性 原子性 一致性 獨立性 永續性。並不是所有的資料庫都支援事務處理的,pdo 為能夠執行事務處理的資料庫提供事務支援。配置事務處理需注意 1 關閉 pdo 的自動提交 pdo setattribute pdo attr autocommit,false 2 開啟乙個事務需要的方法...

php中pdo的使用

執行如下 如果提示引數錯誤,說明pdo已經安裝,如果說明物件不存在,則修改php配置檔案php.ini,取消php pdo yourssqlserverhere.extis前面的注釋。test new pdo given in d wamp64 www test test.php on line 以...

PHP中PDO的用法

pdo 資料訪問抽象層 dsn 資料來源 帶有事務功能 dsn mysql host localhost dbname mydb 造pdo物件 pdo new pdo dsn,root 123 設定為異常模式 pdo setattribute pdo attr errmode,pdo errmode...