gpt4 book ai didi

php - mySql 来自变量表的内/左连接

转载 作者:行者123 更新时间:2023-11-30 00:08:09 28 4
gpt4 key购买 nike

我有一个名为activities的表,在该表中我有这些有用的列(未提及所有列)

`item_id` AND `table`

还有几个不同的表,现在基本上这个activities表的作用是指向不同表内的目标,比如说

SELECT * FROM `activities` WHERE `user_id` = 1;

你得到:

ID:1    TABLE:photos    ITEM_ID:55
ID:2 TABLE:posts ITEM_ID:57

等等...

我想从table列的值中获取数据,这里我有一张照片posts,它们是不同的表。

我可以使用 PHP 循环来做到这一点:

$query = 'SELECT * FROM `activities` WHERE `user_id` = 1;'

$results = $DB->GetRows($query);
foreach($results as $result){
$table = $result->table;
$query2 = "SELECT * FROM `$table` WHERE `user_id` = '1'";
$res = $DB->GetRows($query2);

}

所以在这里我可以从其他表中获取结果,但如果可能的话,我想要一个查询而不是多个查询。

最佳答案

您可以使用 UNION 关键字将两个结果合并为一个,但这只有在它们共享相同结构的情况下才可能实现。

此外,从包含您的表名的变量中进行 SELECT 是有风险的,出于安全目的,我强烈建议您更改它。

关于php - mySql 来自变量表的内/左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333684/

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