2011-03-09 74 views
-1

快速的新手問題:未定義的常量PHP錯誤

注意:運行我的代碼時,以下錯誤信息轉起來使用未定義的常量本地主機的 - 在C假定的「localhost」:\ XAMPP \ htdocs中\網站\ test.php的上線3

注意:使用未定義的常量根 - 在C認爲 '根':\ XAMPP \ htdocs中\網站\ test.php的第3行 無法選擇數據庫

代碼如下:

<?php 
$c = mysql_connect('localhost', 'root', ''); 
mysql_select_db('my_database', $c) or die ("could not select database!!"); 
?> 

我在網上做了一些搜索,大部分情況下,當類似的東西出現時,它似乎是一種忘記將文字放入引號的情況。我在這種情況下,所以這讓我更加困惑。你認爲這可能是php.ini文件的問題嗎? 感謝您的任何幫助。

+0

試試127.0.0.1看看它是否工作 – kjy112

+10

它看起來更像是你的代碼實際上是'的mysql_connect(本地主機,根,「」);'(不帶引號)。 –

+1

你確定這是你正在調用的腳本並拋出錯誤嗎?錯誤消息很明顯,我希望你忘記了你的引號。但行號3與您在此處提供的代碼不符。 – Tim

回答

0

嫌疑你無法連接,但你不測試手柄,所以你傳遞一個無效句柄在select_db(即$c)。如果未找到鏈接,則行爲是嘗試使用mysql_connect,而不使用默認爲「root」和「localhost」的參數,這可能會誤導您原因。

0

Curses。這一次鈴響了,我根本不記得這是什麼?

不過,我建議你不硬編碼的連接細節反正。

我將主機名,用戶名,密碼和數據庫名稱聲明爲變量,並將它們傳遞給數據庫。

對於雲雀,我敢打賭,如果你追加一個第2行「或死」,你會看到它爆炸有 - $ C是從來沒有真正建立。

+0

出於好奇,什麼傳入的優勢值作爲參數? –

+0

它們是可能在環境之間發展的項目 - 開發,測試,生產等。我建議將它們推送到單獨的配置文件中,這樣您就不必深入到數據庫訪問代碼中,以便在推送到一個不同的環境 - 尤其是如果你在多個地方打開你的數據庫連接。 –

0

嗯,這個問題似乎解決自身奇怪的是 - 它或者我之間改變我所用的網址/我在瀏覽器中臨時改變的情況下/的編輯我的代碼時,我救不登記。

感謝您花時間嘗試和幫助我。