1

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

$id=$database->insertid();

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

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

4

3 回答 3

1

如果您正在使用一个扩展 JTable 的表,那么请确保您包含了可选的检出功能。这必须意味着添加几个字段,例如内容表中的内容。这将防止两个人同时编辑同一行,从而产生一种竞争条件,其中一个人将丢失他们的数据。

于 2013-01-24T01:01:14.757 回答
0

@iacoposk8 你是对的,在非常落后的情况下可能是这样。这段时间尝试在您的 sql 查询或任何地方添加当前登录的用户 ID,以免造成任何冲突。我希望你明白我想说的。谢谢

于 2013-01-24T17:06:38.710 回答
0

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

于 2013-01-24T08:04:03.523 回答