我有责任管理一个Joomla!3.5.1网站。新用户通过脚本添加,其中"操作员"可以添加成员。但是,最近我遇到了一个问题,返回消息"SQL=INSERT INTO #__user_usergroup_map
( user_id
, group_id
) VALUES (, 2) -- 数据库未更新"。
我查看了JFacotry API,发现模块"com_users"包含脚本,该脚本使BINDE包含Params
的所有数据,然后将其传递给SQL以执行#__user_usergroup_map
表的INSERT INTO语句。
但是,我在代码执行中看不到SQL语句。 但是$user->getError肯定会返回SQL错误。
我对这个问题的理解是,代码没有提供用户id
作为 INSERT INTO 语句所需的 2 个变量之一。当该过程工作时,代码会生成一个新用户id
并将其提供给 SQL 语句中。
自从我们使用Joomla以来,这在过去一直有效!1.5. 现在我们要搬到Joomla!3.5.1 但希望保持相同的杆件添加方法。
#__user_usergroup_map
表上是否有一些未到位的特殊约束?
谁能帮忙?
您必须使用标记 ' 并且user_id值是自动递增值为空。
$sql = mysql_query("INSERT INTO `__user_usergroup_map` (`user_id`,`group_id`) VALUES ('', '2')");