2017-09-24 134 views
-5

嗨我有我的PHP文件连接到数据库的问题,我已经尝试了不同的方式,但还是同样的反应 这里是我的代码(更新):拒绝连接“mysqli_connect():(HY000/2002):************************** conn.php在第6行拒绝连接失败

<?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 家伙,当我连接到本地一切一切正常,但我想连接到服务器,并能够从不同的Android设备上传数据。目前我使用000webhost.com免费服务,所以可能是关键点和问题,我没有升级那要PRO?

+3

似乎很清楚。 PHP无法连接到该服务器。要么它不在那里,流量被阻止,要么是别的。首先验证您的服务器已启动并且可以联系到。这里没有人能真正帮助你。 – jdv

+0

您还需要阅读这样的回答:https://stackoverflow.com/a/549000/1531971 – jdv

+0

问这样简单的问题,之前做了谷歌搜索。 –

回答

0

从意见,并从排除在其他的答案表示其他的可能性,很可能是与您的服务提供商的连接问题。

你应该写信给他们解释你的情况,如果在所有他们有免费的服务支持。您应该将密码更改为一些虚拟密码,以防您将密码分享给他们;一些服务提供商要求您分享您的密码,以便他们进行检查,而不确定是否建议实践。

此外,用于测试和开发,最好使用某种本地安装PHP,如XAMPP或WAMPP等,这样就可以有开发和测试过程的控制。如果某些工作适用于本地安装而不适用于远程,则开发安装对于隔离和报告此类问题非常有用。

-1

尝试新的mysqli而不是mysqli_connect

+1

是吗?那么知道程序版本无法连接到数据库的事实呢? – GolezTrol

+0

@jdv mysqli的不贬值,这样的回答说OOP的使用,而不是程序风格..没有好的建议:)事情 – user1844933

3

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

的代码应该是:

$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name); 
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"); 

认沽值。

EDIT 2

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

+0

好,但我不连接到本地主机,那么为什么/我需要的端口和插槽? –

+0

端口和插座是可选的。 @D B。那工作? –

+0

正如你所提到的,这两个都是可选的,所以变化与它无关。仍在挣扎着连接。 –

0

我觉得你的问题是,你没有实例化类,通过使$康恩=补救新的mysqli($ server_name,.....)另外,你的参数序列不正确,它应该是服务器,用户,密码,最后是数据库

另外,你应该使用PHP常量来代替变量这个,所以$ server_name应该是SERVER_NAME。同样的,$ mysqli_username,$ my sqli_password和$ db_name应该被修改。并不是说我不会像你那样工作,但它不合适。

0

IY您使用MAMP,MySQL的默认端口是8889,但在PHP希望使用MySQL的“传统”的端口是3306。

所以,你需要打开MAMP,改变毫安mysql端口为3306,然后重新启动mysql服务器。现在连接应该是成功的。