本地系统Apache 2.2.14+PHP5.3.1+MySQL 5.0.22中,PHP5.3.1运行以下程序时无法连接MySQL 5.0.22 
<?php 
$link=mysql_connect("localhost","root",""); 
if(!$link) echo "失败!"; 
else echo "成功!"; 
mysql_close(); 
?> 
出现以下连接错误,而
<?php 
$link=mysql_connect("127.0.0.1","root",""); 
if(!$link) echo "失败!"; 
else echo "成功!"; 
mysql_close(); 
?> 
却连接成功,为什么么呢?系统的hosts文件中有:
127.0.0.1  localhost 这一条的

解决方案 »

  1.   

    并且:
    IE的地址栏中输入:http://localhost/test.php或http://127.0.0.1/test.php都能正常执行
      

  2.   

    并且在CMD下用:
    D:\mysql -h localhost -u root -p

    d:\mysql -h 127.0.0.1 -u root -p都能进入mysql系统
      

  3.   

    把出错信息打印出来$link=mysql_connect("localhost","root","") or die(mysql_error()); 
      

  4.   

    mysql -h 127.0.0.1 的时候,使用TCP/IP连接, 
    mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain" 
    mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket; 
    此时,mysql server则认为该client是来自"localhost"
      

  5.   

    password 
    The password. Default value is defined by mysql.default_password. In SQL safe mode, this parameter is ignored and empty password is used. $link=mysql_connect("localhost","root"); //这样试试 
      

  6.   

    在httpd.conf文件的最后加上一句ServerName localhost:80
      

  7.   

    你 hosts 文件没有定义
    在[C:\WINDOWS\system32\drivers\etc] 路径中修改127.0.0.1       localhost