致命错误:在第2行的C:\Apache\htdocs\test.php中调用未定义的函数mysql_connect()
我今天花了11个小时试图解决这个问题。
我已经安装了: MySQL 5.1 Apache 2.2.14 PHP5.2.17
这些是"PHP和MySQL“一书中提到的版本。
当我运行脚本时:
<?php
mysql_connect ('localhost', 'root', 'password');
?>其中localhost、root和password是该给定测试系统的实际值,我看到的全部内容是:
致命错误:在第2行的C:\Apache\htdocs\test.php中调用未定义的函数mysql_connect()
发布于 2011-03-03 18:37:47
取消注释"php.ini“文件中的行extension=php_mysql.dll,然后重新启动Apache。
此外,"libmysql.dll“文件必须对Apache可用,即必须在Windows系统路径或Apache工作目录中可用。
请参阅有关在manual中安装MySQL扩展的更多信息。
附注:我建议将MySQL扩展视为不推荐使用,并使用MySQLi甚至PDO来处理数据库(我更喜欢PDO)。
发布于 2013-09-18 19:40:49
我也遇到过类似的问题。在多次尝试遵循论坛中的建议之后,我用下面的方法解决了这个问题。我重新发布了这个解决方案,因为它可能对其他人有帮助。
我使用的是Windows7(Apache2.2&PHP5.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之前),行"Loaded Configuration File”获取"C:\PHP\php.ini“,以及mysql块也在那里。MySQL和PHP在一起工作!
发布于 2017-02-03 15:29:45
将database.php文件从
$db['default']['dbdriver'] = 'mysql';至
$db['default']['dbdriver'] = 'mysqli';https://stackoverflow.com/questions/5179535
复制相似问题