自定义字段未保存到 MySQL

Custom Fields Not Saving to MySQL

我一直在尝试将一些自定义字段添加到我的 osCommerce 2.3 安装中。这些字段 (products_lot, products_location, products_serial_number, products_note) 都按应有的方式显示,它们都来自我数据库中的 products_description table。我正在迁移一个已经有这些行的数据库,并且每个字段都完全按照我的预期显示(拉取)字段值。

但是,当我尝试保存新值或将现有产品更新到这些行时,它会引发 1054 错误:1054 - Unknown column 'products_lot' in 'field list'

如果我将这些字段的 tep_db_prepare_input() 部分移动到具有 product_description 的不同数组中,则不会引发错误,但 none 的值实际上会保存到数据库中.它要么切掉这些字段,要么在之前有数据的地方什么都不保存。例如,将“5”添加到 Products Location: 会在数据库中产生一个很大的 fat nil。

TL;DR 它可以很好地提取信息,但无法保存所有信息,我不确定为什么。 . .

这是我用来创建和存储这些字段的 categories.php 文件:

http://pastebin.com/raw.php?i=wHrddQyq

所有 MySQL 行都命名为匹配,因此 products_description table 有 products_lot,等等

如果您的自定义字段位于 products table 中,则不会为每个语言 ID 存储 table 中的行。 products_description table 每个语言 ID 都有行。

您的自定义字段代码在 $sql_data_array 中,在 products table 中是 inserted/updated。如果您的自定义字段对于每种语言都不同并且它们存储在 products_description table 中,您需要将这些字段移动到

内的 $sql_data_array
    for ($i=0, $n=sizeof($languages); $i<$n; $i++) { 

循环。否则,$language_id 将是未定义的。