0

我正在使用 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 语句包含字段名称和新值以及“WHERE”关键字,但没有条件。

有什么帮助吗?

4

1 回答 1

0

load 函数将整数作为输入(请参阅此处http://docs.joomla.org/JTable/load),因此您不能将其传递给数组。您传递的整数应该是表的主键。在这里,您可以使用 3 个主键中的任何一个,因为作为主键,它将是唯一的。

于 2011-04-19T14:22:08.897 回答