2013-08-19 273 views
-1

我正在學習PHP,並且正在處理連接到我的數據庫並提取一些數據的腳本。無法連接到本地主機

我在本地主機上運行的網站是一個PHP驅動的CMS。

腳本的一個片段是這裏

DEFINE ('DB_USER','myname'); 
DEFINE ('DB_PASSWORD','somepass123'); 
DEFINE ('DB_HOST','localhost'); 
DEFINE ('DB_NAME','sitename'); 


// make the db connection 
$dbc = @mysqli_connect('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME') 
    OR die ('Could not connect to mysql: ' . mysqli_connect_error()); 

當我加載在我收到以下錯誤的輸出數據,就是要在PHP繪製頁:

未能進行連接到MySQL:未知的MySQL服務器主機'DB_HOST'(1)

我做了一些關於SO和一些谷歌搜索的研究。一個可疑的問題可能是DB_HOST是在其他地方定義的。這是否合理?我沒有足夠的經驗知道這是否是正確的道路。

我在config/database.php中文件中找到這一點,我不知道這是否是相關的:

$config['default'] = array(
    'benchmark' => TRUE, 
    'persistent' => FALSE, 
    'connection' => array(
     'type' => 'mysqli', 
     'user' => 'myname', 
     'pass' => 'somepass123', 
     'host' => 'localhost', 
     'port' => FALSE, 
     'socket' => FALSE, 
     'database' => 'sitename', 

我怎麼會辦法搞清楚接下來的步驟?這是一個常見的錯誤?有沒有人有任何指針?

+0

嘗試'@mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME)',因爲您將它們定義爲變量,所以它應該沒有引號。 – putvande

+0

忽略這一點,完全錯誤的信息,對不起。 –

回答

4

您需要串門您常量單引號:

$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) 
     OR die ('Could not connect to mysql: ' . mysqli_connect_error()); 

你也應該從功能使用前不要@。如果您希望抑制錯誤,請使用適當的錯誤處理。

相關問題