2013-03-02 302 views
0

如何連接到the demo phpmyadmin server在PHP?我的代碼看起來像這樣。連接到遠程mysql服務器

<?php 
$host = 'http://demo.phpmyadmin.net/STABLE/'; 
$dbname = 'shubham'; 
$user = 'root'; 
$pass = ''; 

// Attempt to connect to database. 
try { 
$DBH = new PDO("mysql:host={$host};dbname={$dbname}", $user, $pass); 
} catch(PDOException $e) { 
echo $e->getMessage(); 
} 
?> 

,但我得到這是我的錯誤

QLSTATE[HY000] [2005] Unknown MySQL server host 'http://www.demo.phpmyadmin.net/STABLE/' (1) 
+0

幾件事:1)服務器是否在默認端口上運行? 2)你不能通過HTTP連接,除非你想看到PhpMyAdmin。 – Trent 2013-03-02 06:17:19

回答

1

你似乎混淆了兩兩件事:

  • 由DB服務器和db /架構
  • 數據庫服務器和模式本身
支持演示phpMyAdmin的前端

PDO需要後者,db服務器本身。

檢查演示的前端代碼,我沒有看到任何內容,會給我們的數據庫服務器的實際連接細節。正如我期望的那樣:我發現很難相信phpMyAdmin演示的製作者/維護者會使他們的實際數據庫服務器可用於公共遠程連接。

+0

感謝您的更正。有沒有可用於公共遠程連接的數據庫服務器?我只想炫耀一個例子。 – 2013-03-02 06:25:39

+0

通常,您可以在自己的託管基礎​​架構上配置自己的數據庫服務器。根據我的經驗,大多數共享主機不會接受遠程連接;他們僅限於在其託管環境內與客戶建立連接。使用虛擬專用服務器(VPS)進行託管通常是最佳選擇。我用過ServerGrove,很高興。但是你確定你需要真正需要_remote_連接嗎?如果您在現有的託管服務器上運行演示應用程序,則該空間中的數據庫連接不是遠程的。如果你使用本地數據庫在本地運行它,那麼也不是遠程的。或者我誤解了? ;-) – 2013-03-02 06:46:44

0

改變你的主機名從

$host = 'http://demo.phpmyadmin.net/STABLE/'; 

到原來的遠程主機名狀$host = 'ukld.db.5510597.hostedresource.com';

0

MySQL不工作在HTTP

012上
<?php 
$host = 'demo.phpmyadmin.net'; 
// High chances that this is NOT your mysql hostname. 
// It will not even by like /STABLE/ as you mentioned it. 
$dbname = 'shubham'; 
$user = 'root'; 
$pass = ''; 

// Attempt to connect to database. 
try { 
$DBH = new PDO("mysql:host={$host};dbname={$dbname}", $user, $pass); 
} catch(PDOException $e) { 
echo $e->getMessage(); 
} 
?>