当前位置: 首页 > 知识库问答 >
问题:

mysql_connect():mysql扩展已弃用,将来将被删除:请改用mysqli或PDO[重复]

谢昊乾
2023-03-14
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);

?>

共有2个答案

郎增
2023-03-14
?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();
}

?>
秋向阳
2023-03-14

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

您正在使用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的。

 类似资料: