SQL查询在PHP中不起作用
我在mySQL数据库中有一个表,用于记录幻想足球(FantasyFootball)数据。该表记录了每周获得多少分,以及哪些球员被选为队长和副队长。“队长”和“副队长”列通过唯一ID链接到“球员”表 e、 g.SQL查询在PHP中不起作用,php,mysql,sql,inner-join,Php,Mysql,Sql,Inner Join,我在mySQL数据库中有一个表,用于记录幻想足球(FantasyFootball)数据。该表记录了每周获得多少分,以及哪些球员被选为队长和副队长。“队长”和“副队长”列通过唯一ID链接到“球员”表 e、 g.512=大卫·贝克汉姆,112=克里斯蒂亚诺·罗纳尔多 当我在SQL客户机中运行以下查询时,它会完美地执行,并返回与唯一ID关联的播放器名称: select g.id, g.season, g.year, g.p
512=大卫·贝克汉姆,112=克里斯蒂亚诺·罗纳尔多
当我在SQL客户机中运行以下查询时,它会完美地执行,并返回与唯一ID关联的播放器名称:
select
g.id,
g.season,
g.year,
g.points_gross,
g.points_net,
g.trans_available,
g.trans_made,
g.wildcard,
g.month,
cap.name,
vice.name
from
gameweeks g
inner join
players cap
on
cap.id = g.captain
inner join
players vice
on
vice.id = g.v_captain
where
g.id in ('1','2','3','4')
但是,当我通过一个简单的PHP页面执行相同的查询时,它返回表,但将播放器名称留空
我甚至将SQL查询回显到PHP页面以进行故障排除,它与客户端中运行的SQL查询完全匹配。您需要为所选列使用别名
cap.name as player_name
在PHP端,您需要使用索引player\u name
来获取数据
原因是您有两个名称选择
cap.name,vice.name
要从玩家那里获取姓名,您需要使用别名,如图所示
select g.id, g.season, g.year, g.points_gross, g.points_net, g.trans_available,
g.trans_made, g.wildcard, g.month, cap.name as captain_name, vice.name as vice_cap_name
from gameweeks g
inner join players cap
on cap.id = g.captain
inner join players vice
on vice.id = g.v_captain
where g.id in ('1','2','3','4')
您将返回与name相同的值
请使用当时的名称,如cap_name和vice_cap_name。
希望它能起作用。
谢谢你也可以发布php吗?听起来好像php代码的映射丢失或错误了。你能把代码也贴出来吗?你的php代码在哪里