好的,我允许用户将产品添加到我的网站,我正在存储图像:
图像/产品/用户名/项目的 ID /filename.extension
看起来像:
图像/产品/管理/ ITEM1 / mypic.jpg
如您所见,在项目之后,我将追加数据库中的项目ID,因此当用户添加图像时,它会将其上传到该文件夹并创建该文件夹,是否可以获取该ID在它被上传之前的下一个插入,或者我必须先插入,然后使用lastinsertid?如果图像无法上传会怎样?
如果那不可能,我将如何完成这个
答案 0 :(得分:0)
正如您对问题的评论中所提到的,查询可能是数据库中下一个自动增量ID的内容非常有问题,因为在插入查询运行时它可能仍然不正确。 / p>
如果你想确保如果上传失败,你就没有数据库中的记录,我建议你使用transactions。
这基本上允许您运行查询,获取最后一个插入ID,执行您需要执行的任何文件上载/操作。如果该文件上传或任何失败,您可以回滚或多或少撤消插入的事务,并且您回到重新启动的位置。
如果文件操作成功,则提交事务,插入实际上将添加到数据库中。