如何同时[保留]处理多个用户的表单

问题描述 投票:-1回答:1

我有一个服务器端文件,我测试了如果两个或多个用户不小心同时提交表单会发生什么情况。不幸的是,如果两个或多个用户同时按下提交按钮,则只有一个用户成功和其他失败,因为我在form.php中有一个代码,该代码在插入数据库之前具有一代主键,从而导致其他用户出错。如果许多用户同时单击,form.php仅可容纳一个用户。有人可以帮我解决我的问题吗?我使用ajax作为表单提交的触发器。我的问题是,主键中有一个错误,因为PHP文件form.php在插入数据库之前生成了主键,这就是为什么两个或多个用户同时按下Submit导致仅一次成功插入的原因都失败了。

 $.ajax({
            type: "POST",
            url: "form.php",
            data: datastring,
            success: function(data) {
                console.log(data);
                alert(data);
            },
            error: function() {
                alert('error handing here');
            }
php ajax server-side
1个回答
0
投票

使用交易

try {
    $db->beginTransaction();
    $db->query('your query');
    $db->commit();
} catch (Exception $e) {
    $db->rollback();
} 
© www.soinside.com 2019 - 2024. All rights reserved.