2014-07-03 68 views
-2

好吧,這似乎很愚蠢,我覺得愚蠢的問,但我一直在搜尋一段時間,我不知道什麼答案是在說什麼;不能連接到遠程mysql數據庫由php

我試圖通過PHP連接到我的遠程直播的MySQL數據庫,這裏是我的代碼

<?php 
// Connecting to the db 
$con = mysqli_connect("166.**.*.**","username","password","MyDb"); 

// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

echo "Con successful"; 

// Reach the table "demo" 
$result = mysql_query("SELECT * FROM demo"); 

while($row = mysql_fetch_array($result)) 
{ 
    echo $row['Title']." ".$row['Description']." ".$row['Link']; 
} 

// Close connection 
mysqli_close($con); 
?> 

而這裏的結果:

精讀成功的警告:請求mysql_query()[function.mysql - 查詢]:不能 連接到本地MySQL服務器通過套接字 '/var/lib/mysql/mysql.sock'(2)在 /home/content/83/11483383/html/Perceptive mind new/php /page-builder/portfolio.php在線13

警告:請求mysql_query()[function.mysql查詢]:一個鏈接 不能在/ home /內容服務器建立/一千一百四十八萬三千三百八十三分之八十三/ HTML /感知 腦海新/ PHP /頁建設者/ portfolio.php在線13

警告:mysql_fetch_array()預計參數1是資源, 在/ home /含量給出/布爾11483383分之83/ HTML /感知心靈 新/ PHP /頁建設者/組合。 php on line 15

+5

** Ahem **,你在混合使用MySQL API,他們不會**混合。朗姆酒和可樂做的,但不是這樣。 –

+0

你把'mysql_ *'混淆了,你不應該再使用它了,因爲它已經被棄用了,而且仍然保留着'mysqli'。將所有內容轉換爲'mysqli'。 – TiMESPLiNTER

回答

3

通過打開與mysqli_庫到遠程數據庫的連接開始了。

然後嘗試使用已棄用的mysql_庫進行查詢。

該功能的文件說:

如果沒有指定鏈接標識,由mysql_connect()打開的最後一個環節假設。如果沒有找到這樣的鏈接,它會嘗試創建一個,就好像調用mysql_connect()時沒有參數一樣。如果未找到或建立連接,則會生成E_WARNING級別錯誤。

這兩個庫不兼容。由於您尚未使用mysql_打開連接,因此它會嘗試打開一個(默認通過套接字使用本地主機)並失敗。

要保持您使用的庫的一致性。始終堅持mysqli_