'field list' 中的未知列,在 db 中,更改字段名称后

Unknown column in 'field list', in db, after a change in field name

我有一个使用数据库的网站 (www.eqtraders.com) 它是 运行 与 PHP 和 MySQL

看来宿主最近更新了PHP,现在'yield'是PHP中的一个predefined keyword。 所以...我到处都将 yield 的所有字段引用更改为 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

有人对我可能需要做什么有什么建议吗?

在您的示例代码中,"item_id" 和 "r_yield" 的用法不是很清楚,它们可能是常量或字符串。

问题出在PHP这边。我建议:

  • 您将 MySQL table 中的列重命名回 "yield",因为一开始不需要修改,"yield" 是 PHP 关键字,而不是 MySQL 关键字。

  • 您在 PHP 字符串代码中使用单引号:

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