0

maincontent.phpとshowcontent.phpの2ページがあります。誰かがmaincontent.phpにアクセスすると、クリックできる2つの画像が表示されます。画像1をクリックすると、showcontent.phpがその画像に関する詳細情報を取得して表示します。これは正常に機能しますが、1つだけでなく2つのテーブルからデータを取得できるようにしたいと思います。

これがmaincontent.phpです

<?php include('includes/connect.php');?>

<div id="maincontent_holder">
<div id="newest_shows">

<?php
$query = "SELECT * FROM tv_shows ORDER BY id DESC LIMIT 6";

$result = mysql_query($query);    

while($row = mysql_fetch_assoc($result)) {
    echo "<div id='lastest'>";

    echo "<a href='show.php?show_name=$row[show_name]'><img src='$row[show_cover]' width='110' height='160' alt='$row[show_name]'> </a>";



    echo "</div>";
}
?>
</div>


</div>

これがshowcontent.phpです

<?php
include('includes/connect.php');
?>
<div id="maincontent_holder">
<?php

$show_name= $_GET['show_name'];

$sql1="SELECT * FROM tv_shows WHERE show_name = '$show_name'
       UNION
       SELECT * FROM show_episodes WHERE show_name = '$show_name'";

    $result1=mysql_query($sql1);    

while($row1 = mysql_fetch_assoc($result1)) {



echo "<div id='cover_img'>";
echo "<img src='$row1[show_cover]' width='110' height='160' alt='$row1[show_name]'>";
echo "</div>";

echo "<div id='show_title'>";
echo $row1['show_name'];
echo "</div>";

echo "<div id='show_info'>";
echo $row1['show_info'];
echo "</div>";

echo "<div id='show_airs'>";
echo $row1['show_airs'];
echo "</div>";

echo "<div id='show_status'>";
echo $row1['show_status'];
echo "</div>";

echo "<div id='show_top_adzone'>";



echo "</div>";

echo "<div id='show_desc'>";
echo $row1['show_desc'];
echo "</div>";
//end of show desc
echo "<div id='episode_list'>";




echo "<a href='blaa'>$row1[episode_name]</a>";
echo "</div>";

}
?>
</div>

これは私がshowcontent.phpから得るエラーです

警告:mysql_fetch_assoc()は、パラメーター1がリソースであると想定しています。ブール値はC:\ xampp \ htdocs \ include \ layout\showcontent.phpの15行目にあります。

4

2 に答える 2

1

SQLインジェクションを除外するためLIKE '%{$show_name}%'にSQLクエリを実行する前に、を使用する必要があります。mysql_real_escape_string($show_name)代わりに、との雄しべの柱の構造を確認する必要がtv_showsありshow_episodesます。私はそれが使用されていないと思いますjoin

SELECT s.*, e.* FROM tv_shows AS s JOIN show_episodes e ON e.show_id = s.id;
于 2013-02-09T08:40:31.180 に答える
0

クエリを次のように変更します

$sql1="SELECT tv_shows.*, show_episodes.* FROM tv_shows, show_episodes
       WHERE tv_shows.show_name = '$show_name' and show_episodes.show_name = '$show_name'
       and tv_shows.show_name = show_episodes.show_name";

これはトリックを行います

于 2013-02-09T08:45:41.833 に答える