2012-11-03 32 views
0

我試圖用以下PHP代碼連接到Mysql數據庫。但我得到2錯誤信息。mysql_connect()問題

連接mysql代碼:

<?php 
define("HOST", "localhost"); 
define("USER", "root"); 
define("PASS", ""); 
define("DB", "classified"); 

mysql_connect("HOST", "USER") or die("Cannot connect to database");; 
mysql_select_db("DB") or die("Cannot connect to select db"); 
?> 

錯誤消息:

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host 
is known. in D:\Software\Installed\xampp\htdocs\Classified-website\toplevel\content 
\database\databd.php on line 7 

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host 
is known. in D:\Software\Installed\xampp\htdocs\Classified-website\toplevel\content 
\database\databd.php on line 7 

Cannot connect to database. 

爲什麼我得到這2個錯誤消息。如果我使用沒有定義功能,那麼它的工作。但..

+1

也停止使用mysql_函數。它們已過時並已棄用。 – Evert

+1

也請在查詢之前閱讀說明書:http://php.net/manual/en/function.define.php – tuergeist

回答

6

mysql_connect("HOST", "USER")

刪除引號 mysql_connect(HOST, USER)

,因爲它們定義的常量 - 如果你用引號,它採取的主機和用戶作爲一個字符串。

+0

'mysql_select_db(「DB」)'也應該是'mysql_select_db(DB)' – tuergeist

+0

是的,我希望那OP將能夠從我的答案中推斷出:-) – Darrrrrren

+0

哦! @Darrrrrren它的工作......我忘了使用PHP的定義()。謝謝。 – Babu

2

你不應該在主機名和數據庫名稱周圍使用引號。

嘗試:mysql_connect(HOST, USER)而不是mysql_connect("HOST", "USER")。爲數據庫名稱嘗試相同的事情。

快樂編碼!

2

你不會用雙引號包住常量:

相反的:

mysql_connect("HOST","DB"); 

用途:

mysql_connect(HOST,DB);  

同樣的事情適用於所有的常量。
另外:刪除使用mysql函數,因爲它們不夠安全。請使用MySQLI或PDO。我寧願PDO。