php连接MYSQL的问题

这是一个测试PHP与MYSQL是否连接上的问题:
下面的是我的测试程序:
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "失败!";
else echo "成功!";
mysql_close();
?>
但是运行之后,它就出现下面的提示:我想知道这是为什么。有什么解决方法吗?

Fatal error: Call to undefined function mysql_connect() in D:\masterphp\test-mysql.php on line 2

小弟初学PHP,希望各位指教。

php.ini文件里面没有把mysql启用
说百了,你给系统一个mysql_connect函数,PHP不知道它是啥.建议重新配置PHP

参考:

==================================================================

准备工作

安装平台
Win2003 Enterprise Server + IE 6.0.3790.0

注:除win9x外,高版本windows下此配置方法应该均无问题(但没有时间一个个测试,有问题可以联系我)。

使用软件及版本
PHP4.3.4
Apache2.0.48
MYSQL4.0.17
Phpmyadmin2.5.6
ZendOptimizer2.1.0b

注:以上软件均为Windows下的最新稳定版本。当您看到这篇教程时,也许各软件版本早已更新,请自行调整测试。

正式开始

推荐更改以下所有软件的默认安装路径,不要放在系统盘,理由在后面。此处我将安装主目录设在 G:\phpinstall\ ,本文下面的路径也请改为相应路径。

安装MYSQL数据库

这个比较简单。将下载好的ZIP文件解压缩,直接点一下里头的setup.exe,一路NEXT即可(本人安装路径:G:\phpinstall\mysql)。
然后请打开“我的电脑”,运行一下“C:\mysql\bin\winmysqladmin.exe”,初次运行可能会遇见让你填写MYSQL默认的用户名和密码,请按要求填写(以后还可以修改)。接下来点击“OK”之后可能会发现它不见了,别急,看看你的任务栏右下角呢!那个可爱的红绿灯,看见了没有?如果显示是绿灯,恭喜你,MYSQL服务已经启动。如果是黄灯,请稍候一下。如果是红灯,也请别急,右击那个图标,然后点“WINNT==>Start the Server Standalone”,如果那个选项呈现灰色,请点“Start the Service”。其目的是重新启动MYSQL服务。
许多教程里谈到用运行命令(cmd)来启动,放着这么好的工具不用,其实何必呢?
继续,右击,我们点“Show me”,然后出现了它的运行界面。点倒数第2个"Databases",查看默认数据库是否已经存在(test及mysql),否则请仔细查看前面的过程,必要时重新安装。
而左边第2项“Start Check”可以在您重新启动系统(比较直接和偷懒的方法)或者重新启动MYSQL服务(参见上述红灯情况部分)后用来判断是否正常。一般来说说明是正确的(均为OK)。否则也请自行重新启动系统或服务。
如果还不放心,试试这样:运行“G:\phpinstall\mysql\bin\mysql.exe -u root -p”,正常的话应该出现一个类似DOS的窗口(如果出现让您输入密码的窗口,直接回车即可,因为mysql初始安装root密码默认为空;如果是覆盖安装MYSQL的话请输入原来的那个root密码)。然后输入“show databases;”(别忘了分号),接下来如果出现两个数据库名称(mysql和test),那现在已经可以很肯定的说,您的MYSQL已经完全配置好了 :)

安装Apache服务器

其实安装的过程很简单,也是类似的一路“NEXT”就行了,这里就说明两点:
①中间会出现一个界面,别怕,按提示写即可,何况我们以后还可以修改这些信息。
②如果您要更改默认安装路径,注意Apache2.x会自动在路径后面再加上一个"Apache2"文件夹。例如我把它安装在“G:\phpinstall\Apache2\”下,中间更改路径时只需要填写或选择"G:\phpinstall\"即可,。
安装完了,你会发现右下角多了一个图标双击,这是Apache2新增的一个非常实用的工具,在这里可以方便的控制Apache服务的开启、关闭、重启等操作,留给大家自行研究吧。
现在请打开IE浏览器,在地址栏中敲入“http://127.0.0.1”,出现,说明Apache的默认安装是成功的。

PHP的安装

将下载得到的PHP-4.3.4-win32.zip解压缩到“G:\phpinstall\php”,请确保下面没有类似“php-4.3.4-win32”这样的子文件夹,即压缩包内所有的文件已经直接放到了PHP的安装文件夹(“G:\phpinstall\php”)下。
说到这里,不得不提一下PHP的两种安装方式。一种是CGI的安装方式,另一种是模块(modules)安装方式,一般推荐后面一种,因为其扩充性比较好。下面就按照这种思路安装。
请将“G:\phpinstall\php\php4ts.dll”移入“G:\phpinstall\php\sapi”。最后将“G:\phpinstall\php\php.ini-dist”改名为“php.ini”后移到 Apache2 的安装目录“G:\phpinstall\Apache2”下(注意:移到系统目录例如 C:\WINNT亦可,但这样重装系统后你又得重新配置PHP,这种移到Apache2目录的方法可以省去该麻烦)。
最后,在 G:\phpinstall\php 下新建两个子目录“session”和“includes”(理由?呵呵,别急,下面会说明)
好了,PHP的安装就这么简单,是不是有点不可思议?

Apache及PHP的配置(重点)

配置PHP的一些属性

打开“G:\phpinstall\Apache2\php.ini”,搜索“doc_root”,“=”后面默认应该为空,你可以将它改为自己的WWW网页的默认位置,例如本人的机器上就是改为“doc_root = f:/www”(请使用斜杠"/"而非反斜杠"\")。
继续搜索“extension_dir”,会得到“extension_dir = ./”一行,将它改为“extension_dir = G:/phpinstall/php/extensions”。然后搜索“;extension=”,会得到一大传类似的连续行。这些是PHP的扩展模块,可以根据需要使用,对需要加入的模块只需要去掉前面的分号即可。例如,“extension=php_gd.dll”、“extension=php_imap.dll”、“extension=php_zip.dll”等。
搜索一下“session.save_path”,找到“session.save_path = /tmp”一行,将后面的地址改为你自己机器上已经存在的目录(这就是刚才建子目录的用处,你不会想每次装了PHP后都重新建一次吧?),这里使用“G:\phpinstall\php\session”目录,然后将这一行改为“session.save_path = G:/phpinstall/php/session”(Again,还是斜杠)。这个问题在很多教程中都没有提到,而且一般SESSION在身份验证、购物车等时候才需要,所以初学者容易忽视。
好了,保存一下,PHP的配置暂告一段落。

配置Web服务器Apache

依次展开“开始菜单==>程序==>Apache HTTP Server 2.0.48==>Configure Apache Server==>Edit the Apache httpd.conf Configuration File”,打开Apache的配置文件“httpd.conf”。
搜索“#Listen”,找到“#Listen 12.34.56.78:80”一行,如果想让Apache2只监听某一该IP段,这里就需要去掉注释,改成你需要的IP地址。例如,你只需要本机调试,不想让外部访问,那就改成 “Listen 127.0.0.1:80”,这样一来,只能从你本机访问(地址栏输入 127.0.0.1 或者 localhost)才能看到Apache2的页面。或者当你网卡绑定了两个以上的IPe而只想用其中某一个时也可以考虑用这个方法。一般而言不必对此做太多修改。
接下来搜索“#LoadModule”,又找到一大串连续的行。这些是Apache2为了解释特定的语言而引入的模块。请在后面加入新的一行:“LoadModule php4_module G:/phpinstall/php/sapi/php4apache2.dll”以使Apache2加入对PHP的支持。
然后在这一行的后面再加上(其实加在哪里都一样,这样只是为了便于以后纠错):
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
上述几行的用处是添加Apache支持和解释的PHP后缀名。您一定可以想到,如果加入“AddType application/x-httpd-php .html”一行,那么直接把PHP文件存为html格式也不要紧,你的Apache还是会自己解释的。
(如果使用的是Apache1.x版本,还需做以下操作:搜索“AddModule”,还是找到一大串的连续行。在最后一行的下面加上“AddModule mod_php4.c”一行。本文使用的是2.x系列,所以毋需此步骤。)
最后需要更改的是默认WWW文件夹。搜索“DocumentRoot”,找到类似“DocumentRoot "G:/phpinstall/Apache2/htdocs" ”一行(随Apache2安装路径而改变)。将它改为“DocumentRoot "f:/www" ”(记得上面PHP的配置吗?对,同一个地方)。然后千万不能忘了一点,就是还要改一处地方,就是在你刚找到“DocumentRoot”下面不远的地方(或者直接搜索“# This should be changed to whatever you set DocumentRoot to”就可以发现它的所在),将“<Directory "G:/phpinstall/Apache2/htdocs">”一行改为“<Directory "f:/www">”。
如果需要增加虚拟目录,请添加类似“ Alias /manual "G:/phpinstall/Apache2/htdocs/manual/" ”的行。其中“Alians”后面的那个斜杠后面对应的是虚拟目录名,后面的是它的物理路径。上面的地址就可以通过“http://127.0.0.1/manual”来访问。

更改环境变量

由于PHP在windows下运行时需要一些额外的DLL,所以需要用到“G:\phpinstall\php\dlls”下的那些文件。常规方法是将这些文件放到“C:\WINDOWS\system32”下,但这样一来每次重新装都要如此,所以我使用环境变量来避免此问题。桌面右击“我的电脑”==>“属性”==>“高级”==>“环境变量”==>“系统变量”==>找到“Path”一行,双击,在后面添加上述目录,注意记得在原先的环境变量后面加上分号以区分(即需要输入“;G:\phpinstall\php\dlls”)

程序调试阶段

这里要提醒一点,对Apache或PHP的设置做了更改后,需要重启Apache以使其生效(以后类似,请自行注意)。具体如下:

开始菜单=>程序=>Apache HTTP Server 2.0.48=>Control Apache Server=>Restart=> OK

如果在这中间出现什么问题的话,请根据提示来检查。现在,我们来测试一下自己的安装成果。

在“F:\www”新建一个文本文件,输入以下内容:
<?php
phpinfo();
?>
然后将它更名为“phpinfo.php”,保存。打开IE浏览器,运行“http://127.0.0.1/phpinfo.php”,如果出现网页内容,恭喜,PHP已经基本上安装好了。

接下来要测试的是与MYSQL数据库的连接。
把下载得到的“phpMyAdmin-2.5.4-php.zip”解压缩到“F:/www/phpmyadmin/”下,然后编辑config.inc.php文件,搜索“$cfg['PmaAbsoluteUri']”一行,后面对应的是phpmyadmin的虚拟路径,这里我们把它改为“$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';”。
继续往下,搜索“$cfg['Servers'][$i]['auth_type']”这一行,这个是phpmyadmin的身份验证配置方式。这里我们选择“$cfg['Servers'][$i]['auth_type'] = 'config';”,下面两行就是mysql的用户名和密码。默认的用户名是“root”,密码为空,别怕,我们呆会儿可以利用phpmyadmin修改它。
还是搜索,搜“$cfg['DefaultLang'] =”一行后面是它默认的语言,这里我们将它改为“$cfg['DefaultLang'] = 'zh';”,顺便把下面10行左右的默认字符集“$cfg['DefaultCharset'] =”改为“$cfg['DefaultCharset'] = 'gb2312';”。
在浏览器中输入“http://127.0.0.1/phpmyadmin”,说明mysql已经连接成功了。phpmyadmin的其他功能就靠自己去摸索和实践了。

添加Zend引擎

这个是所有安装中最简单的一步了。直接点下载得到的那个“ZendOptimizer-2.1.0b-Windows-i386.exe”。因为我们的php.ini文件不在默认位置,中间需要指明它的位置(G:\phpinstall\Apache2)。它会自动备份原来的php.ini文件为php.ini.optimizer-bak,安装后需要重新启动系统才能生效。重启后请再次运行“http://127.0.0.1/phpinfo.php”,看是否在其中出现,没有的话,可要好好查查了。相信这个难不倒你,我就不多罗嗦了。成功后Apache就可以顺利解释有些用Zend加过密的PHP文件了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-09-17
你的程序没有问题,是php版本问题,5.0的版本需要加入mysql支持。

配置php5支持mysql
php5起,不再默认支持mysql,需要自己手工配置,才能支持mysql了。
php5\extensions\php_mysql.dll 和php5\dlls\libmySQL.dll 文件拷贝到winnt\system32目录里。
将php5\php.ini-dist 文件拷贝到winnt目录下,并且改名为php.ini。
编辑php.ini,将;extension=php_mysql.dll前面的;去掉,然后重新启动apache。
再刷新 http://localhost/info.php%20,就可以看到支持mysql的信息了

php5ts.dll,libmysql.dll 拷到 系统目录里了。

extension_dir = "d:\php\php\ext 文件在PHP.INC中
第2个回答  2006-09-16
PHP,会得人好少。。。