2011-12-04 426 views
1

我是一個新手,PHP和網絡世界,並嘗試使用該PHP代碼連接到MySQL數據庫:無法連接到MySQL數據庫

<?php 
echo "Hello World \n"; 

$mysql_host = "MySQL Host"; // this is what specified to use in mySQL management page at my host 
$mysql_database = "mysql_database"; 
$mysql_user = "mysql_user"; 
$mysql_password = "mysql_password"; 

echo $mysql_host; 

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$db_selected = mysql_select_db($mysql_database); 

if (!$db_selected) { 
die ('Can\'t use '.$mysql_database.' : ' . mysql_error()); 
} 
?> 

請,什麼都可以錯,此代碼?我找不到任何語法錯誤,仍然 - 我無法連接到Db

它是否可以並且問題僅與主機有關?

+6

你的MySQL數據庫的主機名肯定不是'MySQL主機'。更可能是共享主機服務上的'localhost'。 –

+1

你也使用'mysql'擴展名。你不應該。使用mysqli或PDO並準備語句以避免SQL注入漏洞。 – chx

+0

調用mysqlerror()時會得到什麼錯誤信息? – Cyclonecode

回答

0

如果您實際在代碼中輸入MySQL Host,那麼您沒有提供有效的主機名。您應該嘗試使用localhost

否則,您當前的主機必須提供您所需的信息。

你也應該告訴我們你的腳本在它死亡時給你什麼錯誤。這使我們能夠給出一個合格的答案而不是猜測。

0

爲@邁克爾說,

$mysql_host = "MySQL Host"; 

肯定是不對的,那場必須有一個有效的主機/ socketname或本地主機..

1

以下變量應該包含有值分別爲:

  • $mysql_host - IP或與您的數據庫服務器的主機名,
  • $mysql_database - 數據庫的名稱,
  • $mysql_user - 數據庫用戶名,
  • $mysql_password - 密碼爲特定用戶的特定數據庫,

確保所有的人是正確的,那麼問題應該解決。如果不是,請告訴我們。

0

這些傢伙是現貨。而且,本地主機程序的密碼通常是空白的。

但是,這只是我注意到:

你$ conn變量中缺少的「如果」語句中的「N」。