在joomla互相排斥

时间:2013-01-23 13:12:15

标签: joomla mutual-exclusion

我使用以下方法为joomla创建了一个扩展名:

$id=$database->insertid();

我刚刚介绍过,如果两个用户登录到该站点将合在一起执行数据库中的两个记录,那么此语句将在两种情况下返回相同的值。 在php中,您可以通过事务解决此问题。

在joomla中我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

如果你有一个正在使用的表,那就扩展了JTable,那么请确保你包含了可选择作为其中一部分的签出功能。这必须意味着添加几个字段,如内容表中的内容。这将阻止两个人同时编辑同一行,这会产生竞争条件,其中一个人将丢失其数据。

答案 1 :(得分:0)

请注意,php和joomla函数都返回最后一个插入id依赖于mysql实现,而mysql返回最后一个id 插入当前打开的连接所以并发不是问题

答案 2 :(得分:0)

@ iacoposk8你说得对,很可能在后面的情况下。这样的时间尝试在您的SQL查询或任何地方添加当前登录的用户ID,以便它不会产生任何混淆。我希望你能得到我想说的话。感谢