Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla 若姆拉的相互排斥_Joomla_Mutual Exclusion - Fatal编程技术网

Joomla 若姆拉的相互排斥

Joomla 若姆拉的相互排斥,joomla,mutual-exclusion,Joomla,Mutual Exclusion,我使用以下方法为joomla创建了一个扩展: $id=$database->insertid(); 我刚才提到,如果两个用户登录到该站点,则将在数据库中执行两条记录,然后在这两种情况下,该语句将返回相同的值。 在php中,您可以通过事务解决这个问题 在joomla中,我如何解决这个问题?如果您有一个扩展JTable的表,那么请确保您包括了可选的一部分签出功能。这必须意味着添加两个字段,如内容表中的内容。这将防止两个人同时编辑同一行,从而造成竞争条件,在这种情况下,另一个人将丢失其数据。如

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

$id=$database->insertid();
我刚才提到,如果两个用户登录到该站点,则将在数据库中执行两条记录,然后在这两种情况下,该语句将返回相同的值。 在php中,您可以通过事务解决这个问题


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

如果您有一个扩展JTable的表,那么请确保您包括了可选的一部分签出功能。这必须意味着添加两个字段,如内容表中的内容。这将防止两个人同时编辑同一行,从而造成竞争条件,在这种情况下,另一个人将丢失其数据。

如果您使用的表扩展了JTable,请确保您包括了可选的一部分签出功能。这必须意味着添加两个字段,如内容表中的内容。这将防止两个人同时编辑同一行,从而造成竞争条件,其中一个人将丢失数据。

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

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

@iacoposk8您是对的,在后面的情况下可能是这样。此时,请尝试将当前登录的用户id添加到sql查询中或任何位置,以便不会产生任何冲突。我希望你明白我想说的。谢谢

@iacopose8您是对的,可能在后面的箱子里。此时,请尝试将当前登录的用户id添加到sql查询中或任何位置,以便不会产生任何冲突。我希望你明白我想说的。谢谢

您的意思是登录还是注册?不,我想在数据库上插入一次后获取最后一个插入的id,同时如果您同时尝试两次插入(两个用户同时注册),确保相互排除joomla工作正常,您将使用insert id函数获取最后一个用户id。如果您使用自定义组件粘贴代码,您可能会遗漏一些内容。您是指登录还是注册?不,我想在数据库上插入后获取最后一个插入的id,在确保相互排除的同时,如果您同时尝试两次插入(两个用户同时注册),joomla工作正常,您将使用insert id函数获得最后一个用户id。如果您使用自定义组件粘贴,您的代码可能会丢失。