mysql_connect():mysql 扩展已被弃用,将来会被删除:改用 mysqli 或 PDO


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

An error occurred in script 'C:'xampp'htdocs'framework'connect.php' on line 13: 
mysql_connect(): The mysql extension is deprecated and will be removed in the future: use       mysqli or PDO instead 
Date/Time: 12-17-2013 15:10:43 

我该如何解决这个问题。 我已经环顾四周,可能是PHP版本问题,但仍然无法删除此错误消息。

<?php
/* Database config */
$db_host        = 'localhost';
$db_user        = '~';
$db_pass        = '~';
$db_database    = 'banners'; 
/* End config */

$link = @mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB     connection');
mysql_set_charset('utf8');
mysql_select_db($db_database,$link);
?>

简单地说,你需要重写所有的数据库连接和查询。

您正在使用mysql_*函数,这些函数现已弃用,将来将从 PHP 中删除。因此,您需要开始使用MySQLi或PDO,就像错误通知警告的那样。

使用 PDO 的基本示例(无错误处理):

<?php
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$result = $db->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");
$insertId = $db->lastInsertId();
?>

使用 MySQLi 的基本示例(无错误处理):

$db = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
$result = $db->query("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");

这里有一个方便的小PDO教程,可以帮助你入门。还有很多其他的,关于PDO的替代品MySQLi。

?php
/* Database config */
$db_host        = 'localhost';
$db_user        = '~';
$db_pass        = '~';
$db_database    = 'banners'; 
/* End config */

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_database);
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s'n", mysqli_connect_error());
    exit();
}
?>