无法使用 php 连接到我的 sql,未定义函数 mysql_connect()

Could not connect to my sql using php ,undefined function mysql_connect()

我想使用 php 和以下代码打开到 mysql 数据库的连接:

$connection= mysql_connect("localhost","m****","******");

但我有 undefined function mysql_connect()

我检查了我的 phpinfo() 并得到了这个:

所以我尝试打开 mysqli.allow_local_infile 所以我在 php.ini 文件中执行以下操作: mysqli.allow_local_infile = On

并尝试重新启动 apache2mysql 服务但没有效果。

我该怎么办?提前致谢,

我将 Ubuntu 18.4php 7.2.24mysql Ver 14.14 Distrib 5.7.28

一起使用

mysql 在 PHP 7 中不受支持,因此您可以使用 mysqli.

https://www.php.net/manual/en/function.mysqli-connect.php

您需要将函数名称从 mysql_connect 更改为 mysqli_connect,因为 PHP7.x

不支持 mysql_

此外,您需要使用具有 mysqli_ 而不是 mysql_

的所有函数

更多指导:https://www.php.net/manual/en/book.mysqli.php

使用mysqli_connect代替mysqli_connect

$connection= mysqli_connect("localhost","m****","******");

如果您正在使用遗留代码,可以在 PHP 7 中安装 MySQL 扩展,如果您确实需要它,但它在 PHP 7 中已被弃用和删除, 但仍然可以编译 PHP 来包含它,尽管实现起来很痛苦。无论哪种方式,最好重写代码以使用 MySQLi 或 PDO。

如果您没有时间进行重构,也没有时间将已弃用和删除的 MySQL 扩展添加到 PHP,您也可以尝试使用以下代码使用 MySQLi 扩展名模拟 MySQL 扩展名:
https://github.com/e-sites/php-mysql-mysqli-wrapper
https://github.com/kijin/mysql-compat
我过去曾将此类代码与 auto_prepend_file 结合使用,将整个遗留代码库放到 PHP 7 上,而无需花费太多时间重构缺少测试的代码等。使用 auto_prepend_file 以防遗留代码有多个入口点,使您无需在代码库中编辑多个文件,因此它始终可用。这种方法的一个缺点是显式检查要加载的 MySQL 扩展的代码将无法检测到该扩展,这是我对某些 Wordpress 版本的经验。

综上所述,如果您没有时间,请尝试说服您为之工作的任何人或您自己,值得切换到 MySQLi 或 PDO 并花时间重构代码等