2012-09-25 49 views
0

HI我有一段代碼,我一直在用我的服務器上一段時間,但現在突然它給這個錯誤:使用未定義的常量

Use of undefined constant country - assumed 'country'

我看了以前的幾個職位,但每次我嘗試並將這些更改應用於我的代碼,這沒有任何區別,所以我迷路了。錯誤指向這裏

'{$ip[country]}' 

任何建議,將不勝感激這個項目,我看了一下加上引號,但是當我把它們應用到這一點,沒有什麼區別。

這是我的插入查詢,如果我把這個變量出它的作品。

INSERT INTO ip_stats (ip, time, hostname, page, referer, string, agent, member, server_name, company_name, company_address) VALUES ('$ip', '$time', '$hostname', '$page1','$request_uri', '$query_string', '$http_user_agent', '$member', '$server_name', '$netname, '{$ip[$country]}') 

而這正是我產生可變

$country = implode(", ", (array) $ip['country']); 
+2

你必須把'Country'在引號 – Philipp

+0

謝謝我試過這個,但它再次沒有區別 –

回答

0

$ip[$country]如果你想訪問你需要它,在變量國家代表的關鍵,而不是字符串「國家」

+0

謝謝,但它仍然不起作用該變量是插入查詢的一部分,只要我添加它,插入查詢停止工作,如果我把它拿走了 工作正常。 –

0

要擴展的{}表達式的雙引號

"{$ip[$country]}" 

其實,廁所在您的插入王,$網絡名缺少結束的單引號

困惑時,只要使用正規的字符串連接

"INSERT ......... '$netname', '" . $ip[$country] . "')..." 
+0

完美謝謝,從來沒有想過,非常感謝。 –

+0

好的抱歉,我的錯誤,我試過,雖然它允許查詢現在的工作,它實際上不會將信息發佈到數據庫。 –

0

嘗試

INSERT .... '$netname', '" . $ip[country] . "')";