已弃用:mysql_connect()

2022-08-30 07:35:48

我收到此警告,但程序仍然正常运行。

MySQL代码在PHP中向我显示一条消息:

已弃用:mysql_connect():mysql 扩展已弃用,将来将被删除:在第 2 行的 C:\xampp\htdocs\task\media\new\connect.inc.php中使用 mysqli 或 PDO 代替

我的页面是connect.inc.php

<?php
  $connect = mysql_connect('localhost','root','');
  mysql_select_db('dbname');
?>

这是什么意思,我该如何消除该消息?


答案 1

您的问题有几种解决方案。

MySQLi的方式是这样的:

<?php
$connection = mysqli_connect('localhost', 'username', 'password', 'database');

运行数据库查询也很简单,并且与旧方法几乎相同:

<?php
// Old way
mysql_query('CREATE TEMPORARY TABLE `table`', $connection);
// New way
mysqli_query($connection, 'CREATE TEMPORARY TABLE `table`');

关闭所有已弃用的警告,包括来自 mysql_*的警告:

<?php
error_reporting(E_ALL ^ E_DEPRECATED);

需要替换的确切文件和行位置是“/系统/启动.php >行:2”error_reporting(E_All);替换为 error_reporting(E_ALL ^ E_DEPRECATED);


答案 2

您可以通过在mysql_connect前添加“@”来删除警告。

@mysql_connect('localhost','root','');

但是正如警告告诉您的那样,请使用mysqli或PDO,因为mysql扩展名将在将来被删除。


推荐