解決Deprecated:mysql_connect():Themysqlextensionisdeprecatedandwillberemovedinthefuture:usemysqliorPDOinsteadin

suboysugar發表於2015-06-24

php 5個版本,5.2、5.3、5.4、5.5,怕跟不上時代,新的伺服器直接上5.5,但是程式出現如下錯誤:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明瞭,說mysql_connect這個模組將在未來棄用,請你使用mysqli或者PDO來替代。

解決方法1:

禁止php報錯

display_errors = On
改為
display_errors = Off

鑑於這個伺服器都是給使用者用的,有時候他們需要報錯(…都是給朋友用的,^_^),不能這做,讓他們改程式吧,看方案2.

解決方法2:

常用的php語法連線mysql如下

<?php
$link = mysql_connect(`localhost``user``password`);
mysql_select_db(`dbname`$link);
 
改成mysqi
<?php
$link = mysqli_connect(`localhost``user``password``dbname`);

常用mysql建表SQL如下

<?php
//  老的
mysql_query(`CREATE TEMPORARY TABLE `table``$link);
// 新的
mysqli_query($link`CREATE TEMPORARY TABLE `table``);

解決方法三:

在php程式程式碼裡面設定報警級別

<?php
error_reporting(E_ALL ^ E_DEPRECATED);

Deprecated的問題就這樣解決掉了,不過還是建議大家儘快取消mysql的用法,全部都走向mysqli或者mysqlnd等等。mysql確實是太不安全而且太老舊了。


 

CI中出現提示:

mysql_pconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

解決方法:

將資料庫配置檔案中DB驅動修改為即可(mysql是被淘汰的函式,用mysqli即可):

$db[`default`][`dbdriver`] = `mysqli`;

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章