结合两个表

时间:2012-12-16 01:05:52

标签: php mysql sql

我有两个表:Teamplayer。队员球员的表。当我运行工具网址,网址和播放器Starring表的名称时,我想拍摄。

玩家表

播放器

p_id  p_name            p_url
1   Iker Casillas   iker-casillas
2   Mesut Ozil      mesut-ozil
3   Xavi            xavi
4   Victor Valdés   victor-valdes

t_id   t_name           t_url      player

1      FC Barcelona     fc-barcelona     3,4
2      Real Madrid C.F. real-madrid-cf   1,2

团队网址正在运行,玩家想要打印名称和网址。但我无法得到结果。我犯错的地方。

include('confing.php');

$t_url = $_GET["t_url"];
$sql = mysql_query("select player.p_name,player.p_url from player,team where player.t_id = team.t_name and team.t_url='.$t_url.'");

while($write = mysql_fetch_assoc($sql)) {
    echo '<a href="'.$write['t_url'].'">'.$write['t_name'].'</a>';
}

1 个答案:

答案 0 :(得分:0)

您需要使用FIND_IN_SET

SELECT  b.*
FROM    team a
        INNER JOIN player b
            ON FIND_IN_SET(b.p_ID, a.player) <> 0
WHERE   a.t_url = 'valueHere'

另外一件事,您的代码容易被SQL Injection攻击,请阅读以下文章以防止它出现