我已经在互联网上搜索了此“调用未定义函数 mysql_connect()”错误的故障排除,但建议的程序均无效...
当我尝试从 php 访问 mysql 时,出现此错误。我有 PHP 版本 5.2.17 和 MySQL 5.1.68(mysql 在 php 之外运行,我尝试创建表和数据库等)。
我取消注释 php.ini 中的扩展:
extension=php_mysql.dll
extension=php_mysqli.dll
并指定这些扩展的路径。
我还将 PHP 和 MySQL 添加到我的 PATH 变量中。我正在使用 Apache 2.2。每次更改后我都重新启动了服务器。
这是我在 php 中用于访问数据库的代码(但我认为问题不在于语法):
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'pasw';
$dbname = 'db';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
?>
我不知道如何解决这个问题,你能建议一些其他的故障排除技巧吗?我对他的问题很陌生...我想使用 MySQL,因为这就是我将在我的网站启动并运行时在实际服务器上使用的内容。提前致谢!
编辑:这是来自 apache 日志:
[Mon Mar 25 13:50:42 2013] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Web\\thenemis\\dbconnect.php on line 7, referer: http://localhost/thenemis/admin.php
[Mon Mar 25 13:50:42 2013] [error] [client 127.0.0.1] File does not exist: C:/Web/favicon.ico
EDIT2:这是来自 php info (我认为问题可能出在 php.ini 文件中的一些未指定的参数上)。除了扩展名和路径之外,我还没有读到任何我应该指定其他功能的地方,但也许我错了......你有什么建议?
mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.51a
Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off