如何快速消除錯誤訊息:PHP Deprecated: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

快速解決PHP Deprecated: mysql_connect()的錯誤訊息
 
朋友傳Line過來,
說他們自家網站的資料夾中,PHP 的錯誤訊息檔(error_log)突然變的超巨大!?
才沒有幾天,這個檔案容量就超過10M,
而且感覺還在繼續長大中...
 
幫忙查看了一下 error_log 的內容,
發現全都是同一條訊息:
PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
 
回問朋友:你們最近升級了PHP的版本了喔?
朋友才想起:沒錯,約莫是兩週前使用的虛擬主機商有通知要升級PHP。
 
PHP 的版本升上了5.5(或是再往前的一個版次)之後,
就會不斷出現這個警示性的訊息,
這個訊息提示的資訊,嚴格說起來也不算是『錯誤』,
簡單說就是 PHP 中 mySQL 的連接語法,
建議更新為強化進階的 mySQLi(i 代表 Improvement)來取代!
如果再不改的話,
PHP再後續的版本,就要直接移除 mySQL 這個舊語法,
那麼網站就會完全停擺了喔。
 
相信很多朋友都有碰上這個警示訊息,
基本上,要徹底解決也不困難,
就是直接把 mySQL 換成 mySQLi(當然,對應的參數也有些異動),
不過如果暫時沒有時間更新程式碼,
或是犯懶,想再撐一下(再撐也沒有多久的時間囉),
那麼最簡單的方法,
就是變更PHP顯示警告與錯誤訊息的層級(改PHP.ini)。
 
不過改了PHP.ini,會影響全部的訊息顯示,
若是只想讓這個已經知道的訊息不要再顯示了,
那麼別忘了還有一個更簡單的方法:
就是直接在原本的 mySQL 連接語法前,
加上一個『@』,
這樣訊息不會再顯示。
 
例如:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
改為:
$link = @mysql_connect('localhost', 'mysql_user', 'mysql_password');
 
這樣就可以了,
但是還是建議爭取了時間後,
一定要安排時間進行程式碼的更新喔 ^^
 
 
 

Readers comment