Пользовательские поля не сохраняются в MySQL

Я пытался добавить некоторые пользовательские поля в мою установку osCommerce 2.3. Эти поля (products_lot, products_location, products_serial_number, products_note) все отображаются так, как должны, и все они вытаскивают из products_description таблица в моей базе данных. Я перемещаю базу данных, в которой уже есть эти строки, и каждое поле отображает (извлекает) значения полей точно так, как я ожидал.

Однако, когда я пытаюсь сохранить новые значения или обновить существующий продукт в этих строках, выдается ошибка 1054: 1054 - Unknown column 'products_lot' in 'field list'

Если я перееду tep_db_prepare_input() часть для этих полей в другой массив с product_descriptionошибка не выдается, но ни одно из значений не сохраняется в базе данных. Он либо разбивает эти поля, либо вообще ничего не сохраняет там, где ранее были данные. Например, добавление «5» в «Расположение продуктов»: приводит к появлению большого жирного ноля в базе данных.

TL; DR
Он тянет информацию просто отлично, но не может спасти все это, и я не знаю почему. , ,

Вот categories.php файл, с которым я работаю, чтобы создать и сохранить эти поля:

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

Все строки MySQL названы так, чтобы соответствовать, поэтому products_description стол имеет products_lot, так далее.

1

Решение

Если ваши пользовательские поля находятся в products таблица, строки в этой таблице не сохраняются для каждого идентификатора языка. products_description В таблице есть строки для каждого идентификатора языка.

Ваш код для настраиваемых полей находится в $ sql_data_array, который вставляется / обновляется в products Таблица. Если ваши настраиваемые поля различны для каждого языка и они хранятся в products_description таблицу, вам нужно переместить эти поля в $ sql_data_array внутри

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

петля. В противном случае $ language_id будет неопределенным.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]