致命错误:调用未定义的函数mysql_connect()

时间:2012-05-16 09:16:03

标签: php mysql

我已经设置了PHP,MySQL和Apache。 PHP的localhost(),它运行良好。但在我下载MySQL之后,它会报告:

  

致命错误:调用未定义的函数mysql_connect()

我该如何解决这个问题?

17 个答案:

答案 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扩展。

更多信息:http://php.net/manual/en/function.mysql-connect.php

答案 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扩展。

要检查并启用扩展,请执行以下操作:

  1. 转到 CPanel
  2. 中的选择PHP版本
  3. 确保已选择PHP 5.x
  4. 确保已检查mysqlimysql 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()

请执行以下步骤以使其正确。

  1. 转到PHP安装文件夹,
  2. 检查php.ini文件的位置,(只有dev,prod文件存在,然后其中一个文件为php.ini文件)
  3. 寻找“ extension = mysqli”并删除“;”之前。
  4. 查找“ extension_dir”并提到“ ext”目录的路径。
  5. 重新启动应用程序。

希望这对某人有帮助。

答案 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 这是用于选择数据库。

谢谢希望这会有所帮助