1. 程式人生 > >PHP學習練手(九)

PHP學習練手(九)

執行事務

  • 資料庫事務

是在單個會話期間執行的一系列查詢。例如,你可能插入一條記錄到一張表中,插入另一條記錄到另一個表中,或許還會執行更新。如果不使用事務,每個獨立的查詢就會立即生效,並且不能撤銷。使用事務,就可以設定起點和終點,然後根據需要執行或撤銷所有的查詢。

  • 優點:發生隨機事件時(如伺服器崩潰)它們會提供保護。事務要麼執行,要麼忽略所有更改。

  • 開始事務:START TRANSACTION

  • 執行事務:要操作的子句

  • 回滾事務:ROLLBACK——撤銷所有查詢的作用

  • 自動提交:COMMIT——執行所有的查詢

1-提交事務
這裡寫圖片描述

2-回滾事務
這裡寫圖片描述

資料庫加密

  • SHA1():該函式不能提供真正的加密,它只是返回了一個值的代表(稱為雜湊),而不是加密的值。通過儲存一些資料的雜湊,仍然可以進行比較,但不能從資料庫中獲取原始資料

  • AES_ENCRYPT(要加密的資料,salt引數):加密函式,返回的將是二進位制格式,在表中必須定義改列為二進位制型別,VARBINARY或BLOB

  • AES_DESRYPT(要解密的資料,salt引數):解密函式

1-給customers表新增2列:pin和nacl。pin用來儲存加密資料,nacl用來儲存salt字元,這裡設定id=1的nacl字元為MD5()中32位字元的後20位字元。
這裡寫圖片描述

2-查詢解密後pin的值
這裡寫圖片描述

3- 查詢加密後的pin值
這裡寫圖片描述