首頁 >後端開發 >php教程 >php链接mysql问题,求各位大大解答

php链接mysql问题,求各位大大解答

WBOY
WBOY原創
2016-06-23 14:06:061041瀏覽

能够打印出php的配置信息,apache也能正常启动,mysql也能登录进去,为啥在编写一个测试php链接数据库就死活连接不上,本人新手,求各位高手们解答:测试代码:

 
$host='localhost';
$user_name='root';
$password='123456';
$conn=mysql_connect($host,$user_name,$password);
if (!$conn)
{
die('数据库连接失败');
}
echo '数据库连接成功!';

if (mysql_close($conn))
{
echo '
...
';
echo '到数据库的连接已经成功关闭';
}
?>


运行错误提示:Fatal error: Call to undefined function mysql_connect() in E:\Tools\httpd-2.2.19-win64\httpd-2.2-x64\htdocs\index.html on line 7
可是用户名跟密码我明明没错,也能登录是爱没办法了!

测试php配置信息代码:
     phpinfo();
?>
这个能输出php佩斯信息;
弄了好几个小时了,还是没辙求大大们。


回复讨论(解决方案)

没人吗?在线等啊 ,我就这样一直等到天亮

phpinfo中,没有mysql, 打开php.ini配置文件,把extension=php_mysql.dll 前面的分号去掉,保存,重启Apache 就可以了。

没人吗?在线等啊 ,我就这样一直等到天亮
解决否???

 extension=php_mysql.dll
 extension=php_mysqli.dll
 extension=php_oci8.dll
 extension=php_openssl.dll
都做了,这些。

还有我发现我运行php.exe时候提示无法启动,计算机中丢失OCI.dll,什么意思?

数据库名呢?

不用填数据库名都可以吧,$con = mysql_connect("localhost","mysql_user","mysql_pwd");
w3c的一个例子。

对了,我发现一个问题,我现在换成WampServer这个集成的来用来,把测试文件用WampServer来测试还是不可以链接,于是我把密码设置为空,就链接成功了,我点击Mysql控制台的时候会提示我输入密码,这就证明我是有设置密码的,而且我在安装mysql的时候设置了密码的,我就纳闷了,我现在退出了WampServer,同样的代码在WampServer下能连接成功在改用apache+mysql+php搭建的来连接就不成功,密码有或空哦都链接不成功,头都大了,我都配置了2遍了,挨着挨着的看到,唉................

undefined function mysql_connect
很明显 php_mysql 没有加载或加载失败

请注释掉 extension=php_oci8.dll
既然你不用 oracle, 为何要打开它?如果你确实需要使用 oracle,那么你如何不知道要安装 oracle 客户端呢?

不要在两个集成环境中验证 mysql 的工作情况。在集成环境中,mysql 是隶属于集成环境的,并不作为单独的服务存在
这就是说,在一个集成环境中能使用mysql,而在另一个中不能,是极其正常的事情

php_mysql 需要 php 安装目录中的mysql支撑库,所以你需要将php安装目录置于操作系统的搜索路径中
绿色的做法是在 httpd.conf 加入 LoadFile "php安装路径/php5ts.dll"
由 php5ts.dll 去找

 这个LoadFile "php安装路径/php5ts.dll"放在httpd.conf的那个位置能具体点吗?第一次配置这东西,很多都不懂,嘿嘿。


 
$conn=mysql_connect('127.0.0.1','root','123456');
if (!$conn)
{
die('数据库连接失败'. mysql_error());
}
echo '数据库连接成功!';

if(mysql_close($conn))
{
echo '到数据库的连接已经成功关闭';
}
?>



Fatal error: Call to undefined function mysql_connect() in E:\Tools\httpd-2.2.19-win64\httpd-2.2-x64\htdocs\testmysql.html on line 4

你确认mysql扩展在phpinfo()中看到了吗

在httpd.conf文件里在LoadModule php5_module "c:/php/php5apache2_2.dll"下面追加如下语句即可:
PHPIniDir "c:/php"

LoadModule php5_module "E:/Tools/PHP/php-5.2.5 (x64)/php5apache2_2.dll"
PHPIniDir "E:\Tools\PHP"
这是我的

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn