PHP 的長期計畫, 預計廢除 ext/MySQL, 採用 PDO 或 MySQLi (MySQL Improved).
關於 PHP 預計改用 PDO / MySQLi 新聞
下述摘錄自此篇原文: '[PHP-DEV] deprecating ext/mysql' - MARC
What this means to ext/mysql:
- - Softly deprecate ext/mysql with education (docs) starting today
- - Not adding E_DEPRECATED errors in 5.4, but revisit for 5.5/6.0
- - Add pdo_mysql examples within the ext/mysql docs that mimic the current
- examples, but occasionally introduce features like prepared statements
- - Focus energy on cleaning up the pdo_mysql and mysqli documentation
- - Create a general "The MySQL situation" document that explains the situation
下述摘錄自: PHP 長期計畫:廢除 ext/mysql,改用 pdo_mysql 或 mysqli - From Gea-Suan Lin
主要的原因是 security 習慣問題。因為 ext/mysql 不支援 prepare 與 execute 這類不需要自己處理 escape 的函式,所以使用 ext/mysql 的人必須自己處理 escape 的問題,也就是透過 mysql_escape_string 或是 mysql_real_escape_string。
而很多書籍為了讓初學者容易了解,會給出很糟的範例,像是:
mysql_query("SELECT * FROM `user` WHERE `username` = '$username';");
而 $username 沒有先檢查過。
有空的話, 開始把以前的 Code 都慢慢改成 PDO 或 MySQLi 吧~