iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
0
自我挑戰組

大學 50 萬貸款的交代系列 第 18

Day 18 _ PHP 上的 SQL Function 比較

  • 分享至 

  • xImage
  •  

說到 PHP 的 SQL 語法,就不得不說 mysql, mysqli, PDO 用來執行 SQL 語法的 function 了。

先來看看 mysql 的戰鬥力

mysql
(~7.0.0 卒)Σ(*゚д゚ノ)ノ

優點:

  • 連得到資料庫算嗎(⁰▿⁰)

缺點:

  • 資料無法 Binding 填入,雖然後來有加入 mysql_escape_string() 之類的方法
  • 加入的解決方案也複雜化程式撰寫的過程。

沒錯,這方法已經在 7.0 的 PHP 版本被棄用了,早在 5.5 版就苟延殘喘了,最主要是安全性的考量,容我留個伏筆之後介紹 Injection 再解釋。

後來接著繼位的,也是普遍教科書、網路教學文、學校...會教的 mysqli。至少我大學四年在這些地方都是接觸這個啦d(`・∀・)b

再來看看 mysqli 的戰鬥力

mysqli
(~現今)
i 代表 Improvement 像是第六代 iPhone 有 iPhone6 和 iPhone6S 的意思一樣

優點:

  • 如同名稱一樣,是強化版的 mysql 。
  • 支援O-O(Object Oriented)

缺點:

  • 寫起來有點長
  • 不適用 try-catch
  • 會很大聲的說出程式發生的問題


小芎...這不用這麼大聲沒關係

其實 mysqli 已經把大部分的問題解決掉了,但是美中不足的地方還是有的。所以才出現後來的 PDO

PDO
(~現今)

優點:

  • try-catch 可以用啦(ノ>ω<)ノ

缺點:

  • 寫起來還是有點長

之後幾篇會介紹還能使用的兩種 PHP function 連接資料庫。٩(。・ω・。)و


上一篇
Day 17 _ SQL 刪除資料
下一篇
Day 19 _ PHP mysqli 簡易使用指南
系列文
大學 50 萬貸款的交代30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言