From: http://www.ttlsa.com/php/deprecated-mysql-connect/
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報錯
鑒於這個服務器都是給用戶用的,有時候他們需要報錯(…都是給朋友用的,^_^),不能這做,讓他們改程序吧,看方案2.
解決方法2:
常用的php語法連接mysql如下
$link = mysql_connect( 'localhost' , 'user' , 'password' ); |
mysql_select_db( 'dbname' , $link ); |
$link = mysqli_connect( 'localhost' , 'user' , 'password' , 'dbname' ); |
常用mysql建表SQL如下
mysql_query( 'CREATE TEMPORARY TABLE `table`' , $link ); |
mysqli_query( $link , 'CREATE TEMPORARY TABLE `table`' ); |
解決方法三:
在php程序代碼里面設置報警級別
error_reporting (E_ALL ^ E_DEPRECATED); |
Deprecated的問題就這樣解決掉了,不過還是建議大家盡快取消mysql的用法,全部都走向mysqli或者mysqlnd等等。mysql確實是太不安全而且太老舊了。
=========================================
完整的測試例子:
<?php
// 方法一: 老的方法
function test1()
{
$con = mysql_connect("localhost", "root", "123456");
if(!$con)
{
die('Could not connect: ' . mysql_error());
}
else
echo "Open mysql db success<br/>";
mysql_close($con);
}
test1();
// 方法二: 新的方法
echo "test2<br>";
function test2()
{
$link = mysqli_connect("localhost", "root", "123456", "");
if(! $link)
{
die('Could not connect: ' . mysql_error());
}
else
echo "Open mysql db success<br/>";
mysqli_close($link);
}
test2();
?>
運行結果:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Users/zcm/work/pocketmu/source/vn/vn0/web/mu/th/t1.php on line 6
Open mysql db success
test2
Open mysql db success