Php 如何在数据库中保存用户购买的物品并防止其再次购买

Php 如何在数据库中保存用户购买的物品并防止其再次购买,php,mysql,field,store,Php,Mysql,Field,Store,我需要一些帮助来存储用户购买和下载的文件。我有一个包含文件及其ID的表。当用户购买并归档文件时,它只是将他重定向到下载链接。但是我想让PHP脚本将用户购买的文件的ID插入到数据库中。但如何处理多个文件并将其ID存储在每个用户的1个字段中。例如,我有10个文件,用户购买了文件1,2,3,8,9。我想将这些数字存储在数据库中,并花一段时间显示与这些ID相对应的链接。您需要创建一个表user\u files,该表有两列,user\u ID和file\u ID组成一个复合主键: CREATE TABLE

我需要一些帮助来存储用户购买和下载的文件。我有一个包含文件及其ID的表。当用户购买并归档文件时,它只是将他重定向到下载链接。但是我想让PHP脚本将用户购买的文件的ID插入到数据库中。但如何处理多个文件并将其ID存储在每个用户的1个字段中。例如,我有10个文件,用户购买了文件1,2,3,8,9。我想将这些数字存储在数据库中,并花一段时间显示与这些ID相对应的链接。

您需要创建一个表
user\u files
,该表有两列,
user\u ID
file\u ID
组成一个复合主键:

CREATE TABLE user_files (
  user_id         INT NOT NULL,
  file_id         INT NOT NULL,
  PRIMARY KEY (user_id, file_id),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (file_id) REFERENCES files(id),
);
如果用户
1
购买文件
1,2,3,8,9
,那么您就可以这样做

INSERT INTO user_files (user_id, file_id) VALUES (1,1), (1,2), (1,3), (1,8), (1,9)
然后,当您需要检查用户是否购买时,只需检查表中是否存在该用户id/文件id组合。

您实际上是在问“如何在PHP中使用数据库?”有许多教程和示例可以帮助您入门。(诚然,任何给定教程的质量都是一个不确定的事实,但这就是为什么建议使用各种不同的教程来扩展您对该技术的介绍。)我们鼓励您从这里开始,并开始尝试构建您的功能。(作为提示,考虑向用户创建一个带有外键的表和文件的外键,并将记录插入到该表中。)如果遇到特定问题,我们可以对此进行帮助。