Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询在PHP中不起作用_Php_Mysql_Sql_Inner Join - Fatal编程技术网

SQL查询在PHP中不起作用

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

我在mySQL数据库中有一个表,用于记录幻想足球(FantasyFootball)数据。该表记录了每周获得多少分,以及哪些球员被选为队长和副队长。“队长”和“副队长”列通过唯一ID链接到“球员”表

e、 g.
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代码在哪里