“Fatal error: Call to undefined function mysql_connect() in”的故障最终解决方法
安装配置以Windows 2003 server为例,理论上说windows2000 与Windows XP是一个道理的。
一、首先按照网络上很多类似文章的方法去设置PHP,目的是让IIS能够支持PHP运行。
1.下载php5解压版软件如php-5.2.1-win32.zip。解压该文件到你想要安装的目的目录中如,D:\Myphp\php5,事先请建好文件夹;
2.将D:\Myphp\php5目录下的php.ini-dist文件改名为php.ini,并把php.ini文件复制到C:\windows目录下,Windows2000的目录应该为C:\winnt。
3.在D:\Myphp\php5目录下到php5ts.dll、libmysql.dll、libmcrypt.dll三个文件复制到C:\windows\system32\目录下。
4.修改C:\windows\php.ini文件,将以下几行值前面的“;”去掉。
;extension=php_mbstring.dll
;
extension=php_gd2.dll
;extension=php_mysql.dll
;extension=php_mcrypt.dll
另针extension_dir="./"改成 extension_dir="D:\Myphp\php5\ext"
保存文件,可能看到这里你认为都与其它的操作版本一样。是的,继续往下看,等会儿还修改到此文件的。
5.修改Windows server 2003的IIS信息管理服务器。
a.点击"ISAPI筛选器",再点击“添加”,在弹出的“筛选器属性”对话框中,依次填入筛选器名称“PHP”,可执行文件“D:\Myphp\php5\php5isapi.dll”,然后点击“确定”退出;(注意,有些需要修改“所有未知ISAPI扩展”开起,选中该选项,在左边点击“允许”。)
b.点击“主目录”标签,再点“浏览”,把网站目录指向到你的网站目录下,如D:\www。再在“主目录”标签下点击“配置”--->应用程序配置--->添加--->添加/编辑应用程序扩展名映射 对话框中,在可执行文件位置输入“D:\Myphp\php5\php5isapi.dll”,在扩展名处输“PHP”,确
定。
c.修改首页默认内容文档。点击“文档--->添加--->添加默认文档--->填入index.php--->确定。
到此处第一大步应该顺利安装完成,在D:\www目录下新建一个文件如test.php,编辑内容在里面加入以下几句。
<?php
phpinfo();
?>
保存,在浏览器中输入“localhost/test.php”应该会显示PHP所有的配置信息。这样就算PHP安装成功,若有不成功的请继续前面操作。
二、安装Mysql5
从网络上下载Mysql for windows版本软件。如mysql-essential-5.0.27-win32.msi可以从上到。
安装步骤: 双击运行-->Next-->选择Custion-->Next-->Change..选择安装路径-->Next-->Install-->选择"Skip Sing-Up"-->Next-->默认点Finish进入配置向导-->Next-->选择"Detailed Configuration"-->Next-->选择Server Machine-->Next-->选择Non-Transactional Database Only-->Next-->选择Manual Setting 设置连接数如150-->Next-->同时选择"Enable TCP/IP Networking","Enable Strict Mode"端口默认3306-->Next-->选择"Manual Selected Default Character Set/Collation" Character Set为gb2312-->Next-->默认界面再选中"Include Bin Directory Windows PATH"-->Next-->"Modify Security Settings"设置Root密码-->Next-->Execute-->提示安装成功点击Finish.
mysql默认端口测试Mysql,在命令行下输入“mysql -uroot -p”然后安提示输入密码进入">"提示,用Show databases;等命令测试。
到此单个Mysql服务也安装完成
三、调试PHPMYSQL连接。
最关键的时候来了。一般配置到此我们写一个数据库调用语句来测试一下,在D:\www目录新建connect.php文件,将以下内容复制进去
<html>
<head>
<title>连接数据库</title>
</head>
<body>
<?php
$link = mysql_connect('localhost', 'root', '123456');//创建连接
if ($link) //如果连接失败
{
echo '服务器的基本信息是:' .mysql_get_host_info($link);
}
else//数据库连接成功
{
echo '连接失败:' . mysql_error();
}
mysql_close($link); //关闭连接
?>
</body>
</html>
在浏览器中打开lcoalhost/connect.php肯定会出现“Fatal error: Calltoundefinedfunctionmysql_connect() in ......”的提示,那说明数据库连接有问题。我们仔细查一般的这样的提示都在第一个出现“mysql_connect”这个函数的这一行上。
在网络上查相关问题,几乎反边Google Baidu相关问题很多提出解决办法也很多,但本来测试一个多星期基本遍了Googl与Baidu都没能有好的办法。
后来在想,以前用Asp与Access时都有PDO之类的东西,难道这个也相似,于是打开php.ini文件将数据库相关的几个参数都开启。问题解决了,将以下几个前面去掉“;”
;extension=php_dba.dll
;extension=php_gd2.dll
;
extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo.dll
;extension=php_pdo_mysql.dll
保存文件,重启IIS,OK。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。