gpt4 book ai didi

php - 内部连接 ​​2 个具有相同列名的表

转载 作者:IT老高 更新时间:2023-10-29 00:14:14 26 4
gpt4 key购买 nike

我正在努力在我的网站上显示来 self 的 Minecraft 服务器的成就。但我无法让它工作。

function achievements() {
global $id;
$sql="SELECT * FROM achievements
INNER JOIN stats ON achievements.type=stats.type
INNER JOIN stats ON achievements.block=stats.block
INNER JOIN stats ON achievements.data=stats.data
INNER JOIN stats ON achievements.value=stats.value
WHERE player_id = $id";
$result=mysql_query($sql) or die(mysql_error());
$rows=mysql_fetch_array($result);
}

我能否使用 $rows['achievements.type'];$rows['stats.type']; 来获取“类型”列"从选定的表中,还是有其他方法可以做到这一点?

列名和表名是我用的插件定义的,不能改名。

最佳答案

它不工作的原因是(在我自己看来)服务器对于如何正确处理列名有点困惑。为了使其正常工作,请在每个具有相同名称的表上添加一个别名,以加入您要加入的列以及列,例如

SELECT  achievements.*,
a.Name as TypeName,
b.Name AS BlockName,
c.Name as DataName,
d.Name AS ValueName
FROM achievements
INNER JOIN stats a ON achievements.type = a.type
INNER JOIN stats b ON achievements.block = b.block
INNER JOIN stats c ON achievements.data = c.data
INNER JOIN stats d ON achievements.value = d.value
WHERE player_id = $id

假设您想要获取每个特定列的名称

关于php - 内部连接 ​​2 个具有相同列名的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16213054/

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