2015-11-05 46 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

这终究是我必须要做的。谢谢! –

相关问题