Php 在一个表中同时执行三个SQL查询
我有以下表格结构:Php 在一个表中同时执行三个SQL查询,php,mysql,sql,database,Php,Mysql,Sql,Database,我有以下表格结构: ---------------------------------- ID | Acces | Group | User | Gate | ---------------------------------- 1 | 1 | TR | tsv | TL-23| ---------------
----------------------------------
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中不再可能使用多线程,但是必须有一种方法来临时保存特定查询的结果,直到再次执行相同的查询
如有任何帮助和建议,将不胜感激 首先,PHP从来没有做过开箱即用的机器翻译,但是可以(仍然)使用pcntl扩展 也就是说,这不是你想要的酱汁 如果您只是希望前端的用户进行3次单独的交互,而不必第一次点击DB一次,第二次点击DB两次(重做第一次和新的查询),您可以从缓存用户会话中每次调用的结果中获益 如果您确实想在一个精确的时间以关系方式进行这3个查询,请尝试
JOIN
s
如果您只是想同时进行所有3个单独的查询(本质上是),请查看TRANSACTION
s
希望这能有所帮助。您能在您的表格中至少多出一些包含不同门、组和用户的行吗?也许向sqlfiddle.com提供一些数据?我想用这些数据做一个矩阵。这将很有趣:)这似乎不是一个mySQL问题或SQL问题。看起来您希望保留每个请求中的数据,然后在每个查询中获得附加数据之前重新呈现该数据。如果您不断地附加到一个对象,该对象将通过新的查询(有很多方法)保持不变,并将新数据附加到数组中,并且每次呈现数组。。。然后你可能会达到预期的结果。我不认为这是一个mySQL问题,而是一个PHP和跨请求保留数据的问题。(变量@lascort雄辩地指出)@xQbert如果有人提供与SQL相关的解决方案,这可能是一个SQL问题。据我所知,可能有一些子句允许多线程查询
用户应该能够以任何顺序运行所有三个查询,而不会使前一个查询的结果消失
——这听起来很像是重复使用变量或其他类似的代码错误,与所问的问题几乎没有关系(这是“混淆”)。由于问题中没有代码,因此不可能真正说出问题所在。在现代浏览器中,在用户会话中存储数据是有风险的,因为它容易受到意外更改的影响。这是怎么回事?会话已保存到服务器,浏览器中唯一引用会话ID的Cookie。请详细说明。