2016-10-01 1279 views
-1

我知道有很多類似的問題,但我沒有找到任何解決方案。mysqli_connect():(HY000/2002):由於目標機器主動拒絕連接,因此無法建立連接

事情我嘗試: -

  • 檢查防火牆

  • 重新啓動我的電腦和Apache服務器

  • 重啓MYSQL

  • 檢查了我的代碼

  • 嘗試一切,我知道和互聯網

這裏是我的代碼上找到: -

<?php 

$dbhost = 'localhost:3360'; 
$dbuser = 'root'; 
$dbpass = ''; 
$db  = 'test_db13'; 


$conn = mysqli_connect($dbhost,$dbuser,'',$db); 

if(! $conn){ 
    die('Could not connect connect: ') ; 
} 

echo 'Successfully Connected'; 


$sql = 'Connected Successfully'; 
    $retvalue = mysqli_query($sql); 

    if(! $retvalue){ 
    die('Cannot connect to SQL: '); 
    } 

echo 'DataBase test_db13 has successfully created'; 

mysqli_close($conn); 

?> 

我沒有設置密碼,但它仍然是顯示我的錯誤。

這裏的防火牆圖片: - enter image description here

最後XAMMP在這裏運行的證明

enter image description here

+1

查看控制面板中給出的端口以及用於連接的端口。 '3360'!='3306' – Qirel

+1

在你的PHP中,端口是3360,而xampp建議它是3306 –

+0

大聲笑............... –

回答

5

如果你看看你的XAMPP控制面板,它明確指出,到MySQL服務器的端口是3306 - 你提供了33603306是默認值,因此不需要指定。即使如此,mysqli_connect()的第五個參數是端口,它應該被指定。

你可以只完全刪除指定的端口,如您使用的默認端口,使其

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$db  = 'test_db13'; 

參考

+0

謝謝,它的工作! – Sami

+0

@Sami如果此解決方案適合您,請隨時[接受答案](http://stackoverflow.com/help/accepted-answer)! :-)它會幫助未來的讀者知道你解決了這個問題。 – Qirel

+0

完成,再次感謝:) – Sami

1

你輸入錯誤的端口號3360,而不是3306 你不需要編寫數據庫端口號,如果你使用的是daefault(在MySQL的情況下爲3306)

1

在你的PHP代碼中你設置了不正確的端口,這是什麼他的代碼應該是

<?php 

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$db  = 'test_db13'; 

的端口在你的代碼設置爲3360當它應該是3306,但是因爲這是默認的端口,你並不需要指定。

-1

如果你沒有改變默認端口3306然後它我很好。

$dbhost = 'localhost'; 

其他明智的你應該指定端口。

$dbhost = 'hostname:mysqlport'; 
$dbuser = 'username'; 
$dbpass = 'password'; 
$db  = 'database'; 
$conn = mysqli_connect($dbhost,$dbuser,'',$db); 
相關問題