无法使用 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
并尝试重新启动 apache2
和 mysql
服务但没有效果。
我该怎么办?提前致谢,
我将 Ubuntu 18.4
与 php 7.2.24
和 mysql Ver 14.14 Distrib 5.7.28
一起使用
mysql
在 PHP 7 中不受支持,因此您可以使用 mysqli
.
您需要将函数名称从 mysql_connect
更改为 mysqli_connect
,因为 PHP7.x
不支持 mysql_
此外,您需要使用具有 mysqli_
而不是 mysql_
的所有函数
使用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 并花时间重构代码等
我想使用 php 和以下代码打开到 mysql
数据库的连接:
$connection= mysql_connect("localhost","m****","******");
但我有 undefined function mysql_connect()
我检查了我的 phpinfo()
并得到了这个:
所以我尝试打开 mysqli.allow_local_infile
所以我在 php.ini
文件中执行以下操作:
mysqli.allow_local_infile = On
并尝试重新启动 apache2
和 mysql
服务但没有效果。
我该怎么办?提前致谢,
我将 Ubuntu 18.4
与 php 7.2.24
和 mysql Ver 14.14 Distrib 5.7.28
mysql
在 PHP 7 中不受支持,因此您可以使用 mysqli
.
您需要将函数名称从 mysql_connect
更改为 mysqli_connect
,因为 PHP7.x
mysql_
此外,您需要使用具有 mysqli_
而不是 mysql_
使用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 并花时间重构代码等