1

両方の INNER JOINS を機能させることができません。最初の INNER JOIN のみを使用するとデータが表示されますが、2 番目の INNER JOIN を追加すると何も表示されません。

URLがどこにあるかを使用しているコードは次のとおりです:website.com/matchdetails/season/match_id

     <?php
     $db = new PDO('mysql:host=db.xx.xx;dbname=xx','xx','xx'); 

     $sth = $db->prepare("
     SELECT *
     FROM 
         matchdetails AS md 
     INNER JOIN 
         players AS p
             ON 
             (p.player_id = md.player_id) 
     INNER JOIN
         matches AS m
             ON
             (m.match_id = md.match_id) 
              WHERE (CONCAT_WS('/', season, match_id)) = :season");
     $sth->execute(array(':season' => substr($_SERVER['PATH_INFO'], 1)));
     foreach($sth as $row) {?>
     <?php echo 'Name '. $row['name'] . '<br/>'; ?> 
     <?php echo 'Goals ', $row['goals'] . '<br/>'; ?> 
     <?php echo 'Assists ',$row['assists'] . '<br/>'; ?> 
     <?php echo 'VVO Score ',$row['vvo_score'] . '<br/>' . '<br/>'; ?> 
     <?php }?>

私のデータベース構造は次のとおりです。

テーブルマッチ

ここに画像の説明を入力

テーブルマッチの詳細

ここに画像の説明を入力

テーブルプレーヤー

ここに画像の説明を入力

4

1 に答える 1

2

ON (p.player_id = m.player_id)、mはテーブル'matches'であり、'matches'には'player_id'という名前の列がありません。

于 2012-05-05T23:02:48.340 に答える