2013-07-30 48 views
-2

我已经实现了具有多个用户的PHP网页,同时使用该应用程序。在应用程序中,用户可以填写一些输入字段并将数据发送到后端。后端进行一些计算并将其发送到MySQL表。问题是当2个或更多用户同时使用该应用程序时,它将所有用户输入数据保存到数据库。这里有一个例子:PHP后端保存来自其他会话的数据

用户1个 输入:“这应该被写入到数据库”

用户2 输入:“这不应该被写入到数据库:

当用户1按下Submit按钮,然后将数据发送到后端文件,后端文件将数据写入MySQL表中,问题在于:用户1和用户2的输入都写入数据库,尽管用户2没有按下提交按钮。

任何想法如何解决这个问题??

+2

还有其他事情正在发生..没有数据被发送就不可能收到数据.. – user20232359723568423357842364

+2

你能告诉我们一些代码,看看它出错了吗? – Matthijs

回答

1

请勿在写入数据库之前使用该文件。直接写入数据库。 MySQL将为你处理并发和锁定。

如果由于某种原因,在写入数据库时​​不想阻塞,则可以尝试使用INSERT DELAYED,具体取决于您的表类型。其他排队系统可用。

1

您可以简单地将所有用户的数据存储在他们的$ _SESSION中,并且只有在用户单击他的保存按钮后,才能将此用户的数据保存到数据库。

如果要存储一些临时的每用户数据,请改用会话。
它们完全是为此目的而设计的。

+0

你可以在MySQL中存储任何你想要的东西,暂时或不是。它是否有意义取决于具体情况,杰米尔没有告诉我们足够的决定。会话用于会话级数据,不仅仅是暂时的废话。 – Brad

+0

从我读的内容看来,他将计算结果存储到数据库中,并为所有用户使用相同的位置。如果这是正确的,那么使用会话将很好地解决问题。 – MightyPork