gpt4 book ai didi

php - 根据数据库记录检查 REQUEST_URI 中的目录

转载 作者:行者123 更新时间:2023-11-29 21:08:06 27 4
gpt4 key购买 nike

我希望使用数据库中的条目来验证 REQUEST_URI 中的目录。我目前的 url 结构如下所示

https://domain.com/accounts/customers/details

我的数据库看起来像这样

IDNO - URL - 父级

1 - 帐户 - 0

2 - 客户 - 1

3 - 详细信息 - 2

!!我不确定如何为我的问题创建表格

有哪些可能的方法来检查 URL 的这些单独部分是否存在,但它们是彼此的父级还是子级

为了澄清,我想检查数据库中是否存在“帐户”,如果存在,我们看看数据库中是否存在“客户”,但其父级为 1,与上表中的帐户 ID 相同

如果不存在,我将返回 404

最佳答案

如果我是您,我可能会设置一个转换表来存储每个其他表的外键。这是一个示例,假设您有这三个表:

帐户:

Account ID  |     Name    |  Other Info
1 | Account 1 | Whatever
2 | Account 2 | Meh
3 | Account 3 | Woo!

客户:

Customer ID |     Name    |  Birthday
1 | Matt | Jan 1
2 | Nathan | Jan 2

详细信息:

Details ID  |     Name    |  Other Stuff
1 | Details 1 | DETAILS
2 | Details 2 | MORE

这三个表包含三个模型的数据。本质上,您添加第四个表将它们链接在一起:

翻译表:

Account  |  Customer  |  Details
1 | 1 | 1
1 | 2 | 1
2 | 2 | 2
3 | 1 | 2

您正在指向此表中其他表的 UID。这允许您将这三个组逻辑地关联在一起。上表基本上是这样说的:

  • 帐户 1 包含 Matt,他的详细信息为 DETAILS
  • 帐户 1 包含 Nathan,他的详细信息为 DETAILS
  • 帐户 2 包含 Nathan,他的详细信息更多
  • 帐户 3 包含 Matt,他的详细信息更多

这允许您执行一些操作,例如获取针对转换表的所有查询,并在需要时连接数据。如果您使用 PHP,您只需在数据库中检查您的参数即可:

https://domain.com/1/2/2

使用该路由,您将得到如下 SQL 查询:

SELECT * FROM translation_table
WHERE `Account` = 1
AND `Customer` = 2
AND `Details` = 2

如果它返回一行,那么您就很幸运,您可以在需要的地方加入数据并渲染页面。如果不存在,则返回 404 header 。

关于php - 根据数据库记录检查 REQUEST_URI 中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36634024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com