我已经设置了PHP,MySQL和Apache。 PHP的localhost()
,它运行良好。但在我下载MySQL之后,它会报告:
致命错误:调用未定义的函数mysql_connect()
我该如何解决这个问题?
答案 0 :(得分:30)
打开终端并运行bellow命令。
sudo apt-get install mysql-server
如果你正在运行PHP,你还需要为mysql 5安装php模块:
sudo apt-get install php5-mysql
答案 1 :(得分:28)
使用" mysqli_connect"
$con = mysqli_connect("127.0.0.1","root","pass","your_database");
它会起作用,我解决了这个问题。
答案 2 :(得分:27)
如果在升级到PHP 7.0后出现此错误,则表示您使用的是已弃用的库。
mysql_connect - 打开与MySQL服务器的连接
警告
这 扩展在PHP 5.5.0中已弃用,并且已在PHP中删除 7.0.0。相反,应该使用MySQLi或PDO_MySQL扩展。
答案 3 :(得分:7)
验证您的PHP安装是否已使用mysql支持进行编译。创建包含<?php phpinfo(); exit(); ?>
的测试网页,并将其加载到浏览器中。在页面中搜索MySQL。如果你没有看到它,你需要重新编译PHP支持MySQL,或者重新安装内置它的PHP包
答案 4 :(得分:4)
PHP.INI
检查是否忘记启用以下选项(加载mysql等模块):
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
答案 5 :(得分:3)
使用。
<?php $con = mysqli_connect('localhost', 'username', 'password', 'database'); ?>
在PHP 7中。 您可能在XAMPP中使用PHP 7。您现在有两个选项:MySQLi和PDO。
答案 6 :(得分:2)
我在RHEL6上遇到了同样的问题。事实证明,/ etc / php.d中的mysql.ini文件只有一个模块名,但需要一个完整的路径名。在我的RHEL6系统上,有效的条目是:
; Enable mysql extension module
extension=/usr/lib64/php/modules/mysql.so
修改文件后,我重新启动了apache,一切正常。
答案 7 :(得分:2)
此错误仅适用于PHP版本v7.0。 你可以使用PHP v5.0来避免这些 其他
使用它
mysqli_connect("localhost","root","")
我只使用mysql的mysqli
答案 8 :(得分:1)
对于 CPanel 用户,如果看到此错误,并且已经为该站点选择了PHP 5.x,则可能是 CPanel 更新禁用了{{1 }}和mysql
PHP扩展。
要检查并启用扩展,请执行以下操作:
mysqli
和mysql
PHP扩展名答案 9 :(得分:1)
解决方案可能是使用这些适配器函数开始在整个应用程序中使用mysqli
而不是mysql
:
if (!function_exists('mysql_connect')) {
function mysql_connect($host = '', $user = '', $password = '', $database = '', $port = 0, $socket = '') {
return mysqli_connect($host, $user, $password, $database, $port, $socket);
}
}
if (!function_exists('mysql_select_db')) {
function mysql_select_db($link, $dbname) {
mysqli_select_db($link, $dbname);
}
}
答案 10 :(得分:1)
这是一个快速修复:
所有专业人士都可能会因为这个答案而讨厌我。但是我在服务器上得到了同样的错误:致命错误:未捕获错误:调用未使用PHP的未定义函数mysql_connect() 7.没有时间重写所有mysql代码这么快,临时修复,如果有人需要它是在CPANEL中寻找 PHP配置并将该帐户的版本更改为PHP 5.4而不是PHP 7.然后代码工作正常,没有上述错误。
答案 11 :(得分:1)
使用Windows 8 n通过更改环境变量来解决此问题
请按以下步骤操作: 打开我的计算机属性 - >高级系统设置 - >环境变量。 在“系统变量”下,选择“路径”,然后点击“修改” 在'变量值'中,添加'C:\ php;'或者安装php的路径。
单击“确定”并应用设置并重新启动系统。 它应该工作。
答案 12 :(得分:0)
此代码可以帮助您
<?php
$servername = "localhost";
$username = "root";
$password = "";
$con = new mysqli($servername, $username, $password);
?>
但更改&#34;服务器名称&#34;,&#34;用户名&#34;和&#34;密码&#34;
答案 13 :(得分:0)
检查您的PHP版本是否安装了mysqli模块
$ ls /etc/php/7.0/mods-available/mysql*
/etc/php/7.0/mods-available/mysqli.ini /etc/php/7.0/mods-available/mysqlnd.ini
启用模块
$ sudo phpenmod mysqli
答案 14 :(得分:0)
如果您使用的是Windows10,PHP 7.2,请尝试连接到mysql。 如果发生此错误
未捕获的错误:在以下位置调用未定义的函数mysqli()
请执行以下步骤以使其正确。
希望这对某人有帮助。
答案 15 :(得分:0)
我的解决方案就在这里(我只需从PHPIniDir 'c:\PHP\'
删除最后一个斜线(NB:反斜杠)):Fatal error: Call to undefined function mysql_connect() cannot solve
答案 16 :(得分:-1)
当您在代码行中使用mysql_connect
时会出现问题,因此只需将其添加到mysqli_cOnnect
中即可解决问题。
您还必须在整个代码行中使用mysqli
,否则问题会再次出现
示例mysql_select_db
将为mysqL_select_db
这是用于选择数据库。
谢谢希望这会有所帮助