php - 如何避免将表单发送的数据与自动增量唯一 ID 关联到 MySQL 数据库中可能发生的冲突?

标签 php mysql post auto-increment last-insert-id

我实际上对 PHP 和 jQuery 了解不多。我是一名自学成才的程序员,最近我专注于使用 PHP 进行服务器端和 JavaScript 客户端的 Web 编程。

AJAX 对我来说是一个相对较新的概念,我只是在进行初步测试。

我会解释我的问题,肯定是我想要的,这对很多人来说应该是微不足道的。

我有一个相当长的表单,它有复选框、文本输入、文本区域和选择,此外,我想添加 bootstrap file-input plugin到我的表格。

问题是我想把所有的数据一起发,发数据前后都发不了照片,还是发完数据再发照片。

原因是我的数据库是关系型的,需要把数据和图片关联到同一个ID,必须自己生成,是自增字段。

假设我有一个名为 data 的表和另一个名为 data_ref_pictures 的表 在我的表单中只有这些字段名称、性别和年龄:

data(id, name, gender, age)
data_ref_pictures(id_data, picture_path)

我非常担心,因为我认为我的系统是单用户/单用户:-(

想象一下,有 100 个用户在不同的地方,他们同时都在使用这个表单,假设现在这个表单已经填好了,照片也被选中了(还没有发送任何东西),这个表单就准备好了发送,所有 100 个用户同时按下提交按钮。

如何知道数据的id号,以免系统出错,把用户的数据和图片混在一起。

问题是我不知道将用户发送的所有数据和图片关联一个唯一的自增id。

感谢阅读!

最佳答案

您可以使用 LAST_INSERT_ID() 函数:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

该函数的结果基于事件连接完成的最后一次插入,因此插入数据时不会发生冲突。

关于php - 如何避免将表单发送的数据与自动增量唯一 ID 关联到 MySQL 数据库中可能发生的冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28733165/

相关文章:

javascript - Ajax按钮在刷新页面之前不会改变

javascript - 将函数从 php 传递给 jquery

mySQL:使用 Levenshtein 距离查找 20,000 行中的重复项

security - 允许获取请求但仅在我的域中?

node.js - 使用 nginx proxy_buffering 和 node js 强大的管道 POST 主体

php - 聚合多个表并将某些列显示为一个

php - 在 CodeIgniter 中将参数传递给 index()

php - 无法连接到网站中的数据库

c# - 如何通过 SSH.NET 在远程服务器上运行 mysqldump 而不会出现密码警告?

forms - "Request Payload"与 "Form Data"之间有什么区别,如 Chrome 开发工具网络选项卡中所示