我使用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() );
}
load函数运行时带有警告:警告:mysql_real_escape_string()期望参数1是字符串,对象在…joomladatabasedatabasemysql.php on line 193
和store函数引发错误:
,但是存储在SQL语句中引发错误。SQL语句包含字段名、新值和'WHERE'关键字,但不带条件。
帮忙吗?
load函数接受一个整数作为输入(参见这里http://docs.joomla.org/JTable/load),因此您不能将数组传递给它。传递给它的整数应该是表的主键。这里可以使用3个主键中的任何一个,因为作为主键,它将是唯一的。