连接到托管服务器上的数据库时出错

时间:2015-08-27 15:29:12

标签: mysql server mysql-connect

  

警告:mysql_connect():( HY000 / 2002):拒绝连接   /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线   7

     

警告:mysql_select_db():没有这样的文件或目录   /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线   8

     

警告:mysql_select_db():无法链接到服务器   建立在   /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线   8

我有以下代码

<?php 
     $localhost="localhost"; 
     $username=b31_16461744; 
     $pass=test123; 
     $dbname=b31_16461744_user; 
     $a= mysqli_connect($localhost,$user,$pass); 
     mysql_select_db($dbname); 
     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!"; 
     }
?>

1 个答案:

答案 0 :(得分:3)

旁注:假设您的网络托管服务商提供的凭据正确无误。

此代码存在一些问题(取自您留下的评论)。

首先,您的三个声明未被引用,并被视为常量。

PHP错误报告会抛出未定义常量的通知。

这些被视为常量:

 $username=b31_16461744; 
 $pass=test123; 
 $dbname=b31_16461744_user; 

您还引用了$user用户名为$username的错误变量。错误报告会签署未定义的变量通知。

然后,您将mysql_mysqli_语法混合。那些不同的MySQL API不会混用。您必须在整个代码中使用相同的代码。

旁注:您发布的另一个问题Access denied for user 'test123'@'192.168.0.38' (using password: NO)您正在使用sql306.byethost31.com作为主持人。确保这是正确的。我不知道主持人希望您使用哪些设置。

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass); 
     mysqli_select_db($a, $dbname); 
     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!"; 
     }
?>

或只使用所有四个参数:

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass, $dbname); 

     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!" . mysqli_error($a); 
     }
?>

但是,带有回声的else对您没有帮助。使用mysqli_error()来获取真正的错误。

即:or die("Error " . mysqli_error($a));

手册中的示例

$link = mysqli_connect("myhost","myuser","mypassw","mydb")
        or die("Error " . mysqli_error($link)); 

参考文献:

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:只应在暂存时进行显示错误,而不是生产