我已经实现了一个包含多个用户的PHP网页,同时使用该应用程序。在应用程序中,用户可以填充一些输入字段并将数据发送到后端。后端进行一些计算并将其发送到MySQL表。问题是,当2个或更多用户同时使用该应用程序时,它会将所有用户输入数据保存到数据库中。这是一个例子:
用户1 输入:“这应该写入db”
用户2 输入:“这不应写入db:
当用户1按下提交按钮时。然后将数据发送到后端文件。然后,后端文件将数据写入MySQL表中。问题在于:来自用户1和用户2的输入都写在数据库中,尽管用户2没有按下提交按钮。
如何解决这个问题的任何想法??
答案 0 :(得分:1)
在写入数据库之前不要使用该文件。直接写入DB。 MySQL将为您处理并发和锁定。
如果由于某种原因您不想在写入数据库时阻止,您可以尝试INSERT DELAYED
,具体取决于您的表类型。其他排队系统可用。
答案 1 :(得分:1)
您只需将所有用户的数据存储在$ _SESSION中,并且只有在用户单击其保存按钮后,才能将此用户的数据保存到数据库。
如果您想存储一些临时的每用户数据,请改用会话 它们完全是为了这个目的。