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值
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章