【问题标题】:Fatal error: Call to undefined function mysql_connect() in C:\Apache\htdocs\test.php on line 2致命错误:在第 2 行的 C:\Apache\htdocs\test.php 中调用未定义函数 mysql_connect()
【发布时间】:2011-07-07 23:07:16
【问题描述】:

致命错误:在第 2 行调用 C:\Apache\htdocs\test.php 中未定义的函数 mysql_connect()

我今天花了 11 个小时试图解决这个问题。

我已经安装了: MySQL 5.1 阿帕奇 2.2.14 PHP 5.2.17

这些是“PHP 和 MySQL”一书中提到的版本。

当我运行脚本时:

<?php
mysql_connect ('localhost', 'root', 'password');
?>

其中 localhost、root 和密码是这个给定测试的真实值 系统,我所看到的只是:

致命错误:在第 2 行调用 C:\Apache\htdocs\test.php 中未定义的函数 mysql_connect()

【问题讨论】:

    标签: php


    【解决方案1】:

    更改database.php文件
    $db['default']['dbdriver'] = 'mysql';
    

    $db['default']['dbdriver'] = 'mysqli';
    

    【讨论】:

      【解决方案2】:

      我有类似的问题。在多次尝试遵循论坛中的建议后,我通过以下方式解决了这个问题。我正在重新发布解决方案,因为它可能对其他人有帮助。

      我运行的是 Windows 7(Apache 2.2 & PHP 5.2.17 & MySQL 5.0.51a),文件“httpd.conf”中的语法(C:\Program Files (x86)\Apache Software Foundation\Apache2.2 \conf\httpd.conf) 对斜杠很敏感。 您可以检查是否从正确的目录中读取了“php.ini”。只需在浏览器中输入“localhost/index.php”。 index.php的代码如下:

      <?php echo phpinfo(); ?>

      有一行(离顶部不远)称为“加载的配置文件”。因此,如果没有添加任何内容,那么问题可能是您的“php.ini”未被读取,即使您未注释(extension=php_mysql.dll 和 extension=php_mysqli.dll)。所以,为了让它工作,我做了以下步骤。我需要改变

      PHPIniDir 'c:\PHP\'

      PHPIniDir 'c:\PHP'

      注意最后一个斜线扰乱了一切!

      现在“加载的配置文件”行在刷新“localhost/index.php”(在我重新启动 Apache2.2 之前)后得到“C:\PHP\php.ini”,并且 mysql 块在那里。 MySQL 和 PHP 正在协同工作!

      【讨论】:

        【解决方案3】:

        取消注释“php.ini”文件中的extension=php_mysql.dll 行并重新启动Apache。

        此外,“libmysql.dll”文件必须对 Apache 可用,即,它必须在 Windows 系统 PATH 或 Apache 工作目录中可用。

        manual 中查看有关安装 MySQL 扩展的更多信息。

        附:我建议将 MySQL 扩展视为已弃用,并使用 MySQLi 甚至 PDO 来处理数据库(我更喜欢 PDO)。

        【讨论】:

        • “在你的 php.ini 中取消注释行 extension=php_mysql.dll 并重新启动 Apache”我已经这样做了
        • 确保“php.ini”中的extension_dir 指向正确的目录(例如,在我的情况下为“C:/Web/php-5.3.5-Win32-VC6-x86/ext” )。
        • 谢谢你。你真的救了我的头痛。非常尊重
        猜你喜欢
        • 2016-09-19
        • 2017-09-03
        • 2023-03-21
        • 2012-05-23
        • 1970-01-01
        • 2014-04-11
        • 2016-11-21
        • 2016-03-06
        • 1970-01-01
        相关资源
        最近更新 更多