【问题标题】:SQL=INSERT INTO `#__user_usergroup_map` (`user_id`,`group_id`) VALUES (, 2) -- database was not updatedSQL=INSERT INTO `#__user_usergroup_map` (`user_id`,`group_id`) VALUES (, 2) -- 数据库未更新
【发布时间】:2016-04-21 20:18:18
【问题描述】:

我负责 Joomla! 3.5.1 网站。新用户由“操作员”可以添加成员的脚本添加。但是,最近遇到一个问题,返回“SQL=INSERT INTO #__user_usergroup_map (user_id,group_id) VALUES (, 2) -- database was not updated”。

我查看了 JFacotry API 并发现模块“com_users”包含脚本,该脚本使用 Params 的所有数据生成 BIND,然后将其传递给 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 表上是否有一些特殊的限制没有到位?

有人可以帮忙吗?

【问题讨论】:

    标签: php mysql sql-server database joomla


    【解决方案1】:

    您必须使用标记 ' 并且 user_id 值是自动递增值空。

    $sql = mysql_query("INSERT INTO `__user_usergroup_map` (`user_id`,`group_id`) VALUES ('', '2')");
    

    【讨论】:

    • 谢谢,但我们似乎误会了。首先,我没有看到任何 SQL 代码。它正在某处生成,但我没有在生成此代码的组件中找到该文件。
    • 谢谢,我们似乎没有交流。第一,我没有看到任何 SQL 代码。它正在某处生成,但我没有在生成此 SQL 代码的组件中找到该文件。 2nd 哪些表需要设置为AUTO_INCREMENT? users、user_usergroup_map 还是别的什么?我发现的只是使用 BIND 和 SAVE 的 PHP,但我在脚本中的任何地方都看不到 INSERT INTO 命令。我认为它在“com_users”组件中很深,但是打开每个文件并查看每个文件对我来说并没有产生任何结果。我正在添加`标记。你能帮忙吗?
    • 对不起,什么代码没有被发送?你要我程序中的代码吗?请澄清。
    • 我自己解决了问题。但这并不是因为缺少'标记。 SQL 代码不是我什至可以找到编辑的东西。我正在运行没有可见的 SQL 代码可编辑的 com_users 组件。如果 ' 标记已被省略,我将不得不找到 SQL 代码来插入它。 PHP 代码中有一些 ` 标记,但是,当我将其放入 StackOverFlow 的论坛时,引号 (") 和单引号 (') 已更改。数据库字段和表名更改为浅蓝色突出显示的文本。 ' 标记在我的信息中,只是响应者看不到。代码执行。
    • 有谁知道'com_users' 组件的SQL 代码在哪里?我想在脚本中添加另一个 SQL INSERT INTO 语句。
    猜你喜欢
    • 2010-10-26
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多