自定义字段未保存到MySQL


Custom Fields Not Saving to MySQL

我一直试图在osCommerce 2.3安装中添加一些自定义字段。这些字段(products_lot, products_location, products_serial_number, products_note)都按照它们应该显示的方式显示,并且它们都是从我的数据库中的products_description表中提取的。我正在迁移一个已经有这些行的数据库,每个字段都显示(拉取)字段值,正如我所期望的那样。

然而,当我试图保存新值或将现有产品更新到这些行时,它会抛出1054错误:1054 - Unknown column 'products_lot' in 'field list'

如果我使用product_description将这些字段的tep_db_prepare_input()部分移动到另一个数组中,则不会引发错误,但没有任何值实际保存到数据库中。它要么分割这些字段,要么在以前有数据的地方什么都不保存。例如,将"5"添加到Products Location:ye会在数据库中生成一个大的胖零。

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

这是我正在使用的categories.php文件,用于创建和存储这些字段:

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

所有MySQL行的名称都是匹配的,所以products_description表有products_lot等。

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

自定义字段的代码位于正在products表中插入/更新的$sql_data_array中。如果每种语言的自定义字段不同,并且它们存储在products_description表中,则需要将这些字段移动到内的$sql_data_array中

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

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