Кастом ГДЕ в сохранении строки JTable в Joomla 1.5

Я использую JTable для хранения записи в таблице. В моей таблице 3 первичных ключа (pid,eid,sid). Я хочу сохранить (вставить, обновить) запись моего кода:

$row =& JTable::getInstance('mytable', 'Table');
$row->load(
                array(
                    'pid'   =>$pid,
                    'eid'   =>$eid,
                    'sid' =>$sid
                    )
            );
$row->data = $data;
if (!$row->store()) {
                JError::raiseError(500, $row->getError() );
            }

Функция загрузки запускается с предупреждением: Предупреждение: mysql_real_escape_string() ожидает, что параметр 1 будет строкой, объект задан в...\joomla\database\database\mysql.php в строке 193

и функция store выдает ошибку:

, но магазин выдает ошибку с оператором SQL. Оператор SQL содержит имена полей и новые значения, а также ключевое слово "ГДЕ", но без условия.

любая помощь?

1 ответ

Функция загрузки принимает целое число в качестве входных данных (см. Здесь http://docs.joomla.org/JTable/load), поэтому вы не можете передать ему массив. Целое число, которое вы передаете, должно быть первичным ключом вашей таблицы. Здесь вы можете использовать любой из ваших 3 первичных ключей, потому что, будучи первичным, он будет уникальным.

Другие вопросы по тегам