2015-11-05 41 views
1

我有它運行PHP與MySQL的使用數據庫(www.eqtraders.com)網站未知列在字段名稱更改後

看來,主機最近更新了PHP,現在'收益率'是PHP中的predefined keyword。 所以......我到處去了,並把所有產量的場參考改爲r_yield。然後我將數據庫字段名稱更改爲r_yield

我相信,代碼發送以下查詢:

INSERT INTO recipes (item_id, r_yield, tradeskill, restriction, triv_low, triv_high, date_added, triv_display) VALUES ("51998", "1", "Spell Research", NULL, "432", "432", "2015:11:04", "432") 

而對於這一點,我得到的錯誤:

Unknown column 'r_yield' in 'field list', in db: recipes

PHPMySQL報告字段名r_yield(有兩個除了需要改變的配方以外的表格)

Screenshot of PHPMyAdmin with the name change. Field 3

有人對我可能需要做什麼有任何建議嗎?

+1

嘗試清除數據庫模型緩存如果任何 –

+1

並不完全知道爲什麼PHP關鍵字會影響一個SQL查詢,在很當訪問來自查詢Resault的數據時,至少你會使用字符串值「yield」「 –

+0

」它使用PHP和MySQL運行「並不那麼有用。您的網站是否在任何框架上運行?哪個版本?每個框架都有自己的處理數據庫的方式,所以請提供這些信息。問候, –

回答

0

在你的示例代碼中,使用「item_id」和「r_yield」不是很清楚,它們可能是常量或字符串。

問題出在PHP方面。我建議:

  • 重命名在MySQL表中的列回「產量」,因爲這並不需要擺在首位,以進行修改,「產量」是一個PHP的關鍵字,而不是一個MySQL的關鍵字。

  • 你使用你的PHP代碼單引號字符串:

    $rs = $data['item_id']; 
    $rs_temp_data['item_id'] = $rsdata['item_id'][$i]; 
    $rs_temp_data['yield'] = $rsdata['yield'][$i]; 
    
+0

這終究是我必須要做的。謝謝! –

相關問題