說到 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 連接資料庫。٩(。・ω・。)و