2017-02-12 75 views
0

我正在使用mysql數據庫。我想用我寫的腳本連接到它:我有錯誤:SQLSTATE [HY000] [2005]未知的MySQL服務器主機

<?php 

function getDatabase() { 
    $host = 'localhost:3306'; 
    $db = 'freya'; 
    $login = 'root'; 
    $pw = 'helloitsme'; 

    try { 
     return new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $login, $pw); 
    } catch (Exception $e) { 
     die('Erreur : '.$e->getMessage()); 
    } 
} 

$db = getDatabase(); 

我已經看到了這個錯誤是複發性,但沒有一個解決方案的工作了。 我檢查了my.cnf,我確定我正在使用mysql db的端口。 我也確信數據庫名稱,登錄名和密碼都是正確的,因爲我使用它們來到達帶有shell的數據庫。

可能是什麼問題?

回答

4

你並不需要指定端口3306是MySQL的默認,但如果這樣做,正確的連接字符串是

'mysql:host=localhost;port=3306 ...' 
相關問題