连接被拒绝“mysqli_connect():( HY000 / 2002):第6行************************** conn.php连接被拒绝

时间:2017-09-24 14:58:26

标签: php mysql database phpmyadmin

嘿伙计我将.php文件连接到数据库时遇到问题,我尝试了不同的方法,但仍然是相同的响应。 这是我的代码(更新):

    <?php
$server_name = "localhost";
$mysql_username = "*****";
$mysql_password = "*****";
$db_name = "*****";
$conn = mysqli_connect ($server_name, $mysql_username, $mysql_password, $db_name);
if($conn) {

    echo "Success";

}
else {

    echo "Failed";

}
?>

UPDATE 伙计们,当我连接到localhost一切正常但我想连接到服务器,并能够从不同的Android设备上传数据。目前我使用000webhost.com免费服务,所以它可能是我没有升级到PRO的关键点和问题吗?

5 个答案:

答案 0 :(得分:3)

mysqli_connect要求参数的顺序为servername, username, password, databasename。您的订单是servername, databasename, username, password

代码应为:

$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name);

答案 1 :(得分:1)

您的参数序列错误

<?php
$server_name = "*****";
$db_name = "*****";
$mysql_username = "*****";
$mysql_password = "*****";
$conn = mysqli_connect($server_name, $mysql_username,$mysql_password, $db_name);

if($conn) {
    echo "Success";
} else {
    echo "Failed";
} ?>

更正语法

mysqli_connect(host,username,password,dbname,port,socket);

参考mysqi_connect

修改

额外提示

$conn = mysqli_connect("localhost","username","password","db_name");

根据您的服务器输入值。

编辑2

MySQL需要在端口3306上运行,确保它是正确的

答案 2 :(得分:0)

我认为你的问题是你没有实例化这个类,通过使它变为$ conn = new mysqli($ server_name,.....。此外,你的参数序列不正确。它应该是服务器,用户,密码,最后是数据库。

此外,您应该使用PHP常量而不是变量,因此$ server_name应该是SERVER_NAME。类似地,应该更改$ mysqli_username,$ mysqli_password和$ db_name。并不是说我不会像你一样工作,但这不恰当。

答案 3 :(得分:0)

从评论和其他答案中指出的其他可能性的裁决中,很可能是与服务提供商的连接问题。

你应该写信给他们解释你的情况,如果他们支持免费服务的话。您应该将密码更改为一些虚拟密码,以防您与它们共享;有些服务提供商会要求您分享密码供他们检查,不确定是否建议使用。

此外,对于测试和开发,最好使用某种本地PHP安装,例如XAMPP或WAMPP等,这样您就可以在开发和测试期间获得控制权。如果某些内容适用于本地安装而不适用于远程安装,则进行开发安装对于隔离和报告此类问题非常有用。

答案 4 :(得分:0)

我正在使用 MAMP ,mysql的默认端口是8889,但是&#34;传统&#34; php期望用于mysql的端口是3306。

所以你需要打开MAMP并将MAMP mysql端口更改为3306,然后重启mysql服务器。现在连接应该成功。