一个表中同时有三个SQL查询

时间:2014-05-16 06:38:46

标签: php mysql sql database

我有以下表结构:

                 ----------------------------------
                 ID | Acces | Group | User | Gate |
                 ----------------------------------
                 1  |   1   |  TR   | tsv  | TL-23|
                 ----------------------------------

我有一个包含3个功能的页面:

  • 选择组以查看所选组有权访问的所有门。
  • 选择“门”以查看有权访问所选门的所有组。
  • 选择组以查看属于所选组的所有用户。

基本上是这样的:

  SELECT Gate WHERE Group = TR 
  SELECT Group WHERE Gate = TL-23
  SELECT User WHERE Group = TR

我想要实现的目标是:用户应该能够以任何顺序运行所有三个查询,而不会使前一个查询的结果消失。

现在,我知道在PHP中不再可能存在多线程,但必须有一种方法可以暂时保存特定查询的结果,直到再次进行相同的查询。

任何帮助和建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

首先,PHP从未使用过开箱即用的MT,但可以(仍)使用pcntl扩展。

那就是说,那不是你寻找的酱汁。

如果您只是希望前端的用户进行3次单独的交互,而不必在第一次触及DB,第二次两次(重做第一次和新查询),您可能会受益于缓存用户会话中每次通话的结果。

如果您确实想在一个确切的时间以关系方式进行3次查询,请尝试JOIN s。

如果您只想在同一时间(基本上)同时进行所有3个单独的查询,请查看TRANSACTION s。

希望有所帮助。