0

と の 2 つのテーブルがTeamありplayerます。チーム プレーヤー ID のテーブル。ツールのURLを実行すると、プレーヤーのスターリングテーブルのURLと名前が表示されます。

プレイヤーテーブル

プレーヤー

p_id p_name p_url
1 イケル・カシージャス
2 Mesut Ozil メスト・オジル
3 シャビ・シャビ
4 ヴィクトル・バルデス ヴィクトル・バルデス

チーム

t_id t_name t_url プレーヤー

1 FC バルセロナ fc-バルセロナ 3,4
2 レアル・マドリード CF レアル・マドリード-cf 1,2

チームの URL が実行されています。プレイヤーは名前と URL を印刷したいと考えていますが、結果を取得できません。私がミスをするところ。

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>';
}
4

1 に答える 1

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'

もう1つ、あなたのコードは脆弱です。SQL Injection以下の記事を読んでそれを防いでください

于 2012-12-16T02:14:51.960 に答える