自定义字段未保存到 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 将是未定义的。
我一直在尝试将一些自定义字段添加到我的 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 中,您需要将这些字段移动到
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
循环。否则,$language_id 将是未定义的。