2015-09-18 59 views
-1

PDO的連接到SQL服務器工作正常,這裏是代碼:PHP的mysql_connect失敗,PDO連接到MySQL工作正常

try { 
    $host = "tcp:hdl324kjh.database.windows.net, 1433"; 
    $user = "[email protected]"; 
    $pwd = "password"; 
    $db = "my_db"; 
    $conn = new PDO ("sqlsrv:Server = $host; Database = $db", $user, $pwd); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = ("SELECT * FROM CUSTOMERS"); 
    $stmt = $conn->query("$sql"); 
    $row = $stmt->fetch(); 
    print_r($row); 
    $conn = NULL; 
} catch(Exception $e) { 
    die(print_r($e)); 
} 

但由於某些原因的mysql_connect似乎並不工作:

$mysql_hostname = "hdl324kjh.database.windows.net:1433"; 
$mysql_user = "[email protected]"; 
$mysql_password = "password"; 
$mysql_database = "my_db"; 
$prefix = ""; 
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database"); 

mysql_select_db($mysql_database, $bd) or die("Could not select database"); 

$sql = mysql_query("SELECT * FROM CUSTOMERS"); 
while ($row = mysql_fetch_array($sql)) { 
    echo $row['NAME']; 
} 

以下是錯誤消息:

連接失敗:php_network_getaddresses:的getaddrinfo失敗:沒有主機是已知的。

+0

當你知道PDO如何工作時,你爲什麼要創建一個mysql連接? – AgeDeO

+0

當前網站需要遷移到完全爲mysql_connect編寫的新服務器上。所以喜歡讓它爲相同的工作。 :) – user2672112

+0

請重新考慮這個:http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – AgeDeO

回答

0

來吧,你不能使用mysql_connect首先連接到MS SQL服務器。

雖然有關這個錯誤,這是非常明確的 - 你運行你的代碼的系統,什麼都不知道了主機hdl324kjh.database.windows.net的

+0

你能否建議我一個替代解決這個問題? – user2672112

+0

繼續使用PDO並更改新服務器,以便支持PDO – AgeDeO

0

你PDO的代碼實際上並沒有連接到MySQL服務器,而是一個Microsoft SQL服務器。兩者是完全不同的東西。