为什么php连接不了数据库?

为什么php连接不了数据库?,第1张

这个错误的意思是文件没有找到,需要的文件名是:数据库连接.PHP

你检查文件是否存在,确保正确文件存在即可解决。

当然,有时候看起来存在,实际上电脑认为不存在,这就是汉字编码问题,看起来一样的汉字,在UTF-8、GBK下的电脑存储数据是不同的。建议所有的PHP文件名都使用英文,这样可以避免编码问题。

问题一

今天给本本装上mysql和php,一切安装都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin连接测试时却出现“#2002无法连接”的错误,用其它程序也是同样问题。

检查了下,php的mysql扩展正确安装,mysql服务正常启动--那就奇了怪了。又用navicat连接,居然连上了。。看来是php和mysql间的通讯出了问题。

百度了一下,问题被揪出来了:

mysql_connect()函数数据库服务器(server)参数当前设置为localhost,但当其更改为127.0.0.1后又可以正常访问。

系统hosts文件未提供127.0.0.1到localhost的解析。

解决方法(以win7系统为例):找到C:\Windows\System32\drivers\etc\hosts文件,默认为只读,你需要复制一份到其他路径如桌面,打开文件(打开方式:记事本),在文件末尾添加:

127.0.0.1 localhost

如果已存在去掉其前面的“#”。

问题二

php脚本可以正常运行,如phpinfo()。

只要一出现“mysql_connect”函数,就没反应,也不报错。

如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL数据库连接失败:".mysql_error())

apache日志目录error.log中出现

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'

解决办法

将“libmysql.dll”复制到apache的bin目录下。然后重启,观察error.log,如果错误消失,那恭喜了。

另:网上资料也有说将““libmysql.dll””“php_mysql.dll”复制到windows/system32的。

“数据库连接出错,请检查Conn.asp文件中的数据库参数设置。”,del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.*del /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp &md %windir%\tempdel /f /q %userprofile%\cookies\*.*del /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*"echo 清除系统垃圾文件完成!echo. &pause以上批处理文件中有一句话rd /s /q %windir%\temp &md %windir%\temp将temp文件夹用RD命令删除,再用MD创建,这样会导致权限问题!怀疑原因可能出在IIS设置上,仔细检查数遍,兼网站目录权限,未发现问题。再在互联网上搜索,发现一案例,因使用批处理命令删除临时文件夹,出现相同症状,恍然大悟,一定是临时文件夹权限问题。在NTFS格式下,temp目录的权限肯定会改变,由于数据库 *** 作时需要使用temp目录作缓存进行数据交换,当权限不足时就出现:“数据库连接出错,请检查连接字串。”的错误提示。修正temp权限后再试,ok了说过,对系统我是很爱干净的,每隔几天我都要清理一下,本来超级兔子、优化大师、瑞星卡卡都有清理系统垃圾的功能,你会很好笑,因为这三个我都安装了,天天清个彻底,后来发现上面那个批处理文件,上文件复制到记事本里面另存为.bat文件,然后双击,马上系统垃圾一扫而空,那种感觉超爽,没想给这里留下了后患,没关系,上面文章说了,照着做:找到temp目录:C:\WINDOWS\这里即可找到。然后点右键属性,再点“安全”,点“添加”,再点“高级”,再点“立即查找”,然后会列出一大堆有户,你选择IUSER开头的那个点确定,即添加了INTERNET来宾帐号,再选中这个号,在下面设置一下这个帐号的权限,可把左边那一列全部勾上。然后再测试一下IIS,没问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9986469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存