2013-12-19 62 views
1

這可能是一個愚蠢的問題,但爲什麼我使用本地主機,如果我的網站託管rackspace?爲什麼我可以使用本地主機連接到我的託管網站數據庫?

$db_host = "localhost"; 
$db_username = "*****"; 
$db_pass = "********"; 
$db_name = "lds"; 


$link = mysql_connect('localhost','*****','*********'); 
    if (!$link) { 
     die('Could not connect: ' . mysql_error()); 
    } 
echo 'Connected successfully'; 
mysql_close($link); 

它似乎正在獲取連接,因爲我成功回顯'連接成功'。

也許有些事情是非常錯誤的,因爲我注意到當我從mysql_connect函數和db_host變量中取出localhost時...它仍然表示連接成功。

那是因爲我已經在我的IDE中連接了ftp連接了嗎?

任何幫助將不勝感激。提前致謝。

+1

PHP(和數據庫)運行在遠程服務器上,所以它從主機(Rackspace)的角度來看就是'localhost'。 – Farce

+1

[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**粉紅色框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – h2ooooooo

+0

感謝所有的幫助..一個更快的問題...所以,如果我決定使用mysqli或pdo我必須重置我的MySQL數據庫表到一些不同的規格? –

回答

2

您的數據庫服務器正在本地運行到遠程機器,您正在執行您的PHP腳本。即使Web服務器和數據庫服務器相對於您而言,對於您的腳本,數據庫似乎仍爲localhost

%的文檔mysql_connect

如果PHP指令mysql.default_host未定義(默認值),然後 默認值是 '本地主機:3306'。

這似乎表明,如果未提供數據庫服務器的值,則使用默認值。另請注意,該文檔還指出,此功能是棄用在PHP 5.5.0中。

見來代替:http://php.net/mysqlihttp://php.net/pdo

+0

謝謝,所以如果我決定使用mysqli或pdo,我必須將我的mysql db表重置爲一些不同的規格? –

0

只要你的PHP我們的服務器和MySQL數據庫服務器都在同一臺機器本地主機將工作

相關問題