0

WHERE 句を使用してこれらのクエリを機能させようとすると問題が発生します。次のような 2 つのテーブルがあります。

ここに画像の説明を入力

ここに画像の説明を入力

私がやろうとしているのは、各映画が持つジャンルを返すことです。現時点では、私が見ることができるデータはまったく返されていません。2 つのクエリを次に示します。

$film_id = $row_movie_list['film_id']; 
mysql_select_db($database_fot , $fot);
$query_get_genre = "SELECT * FROM film_genre WHERE `id_film` ='". $film_id. "'";
$get_genre = mysql_query($query_get_genre, $fot) or die(mysql_error());
$row_get_genre = mysql_fetch_assoc($get_genre);
$totalRows_get_genre = mysql_num_rows($get_genre);

$genre_id = $row_get_genre['id_genre']; 
mysql_select_db($database_fot , $fot);
$query_genre = "SELECT * FROM genre WHERE `id_genre` ='". $genre_id. "'";
$genre= mysql_query($query_genre, $fot) or die(mysql_error());
$row__genre = mysql_fetch_assoc($genre);
$totalRows_genre = mysql_num_rows($genre);

コンテンツ領域を備えた PHP。私はPHPにかなり慣れていないので、助けていただければ幸いです。

<?php do { echo $genre['genre']; } while($row_get_genre = mysql_fetch_assoc($get_genre));   ?>

更新: 最初のジャンルを取得できるようになりましたが、2 番目のジャンルを取得することはできません。最初のジャンルを 2 回エコーするだけで、試してみましたが、まだ運がありません:

do {do { echo $row_genre['genre']; } while($row_genre = mysql_fetch_assoc($genre));} while($row_get_genre = mysql_fetch_assoc($get_genre));   ?>
4

1 に答える 1

0

非推奨の方法を使用して接続を確立し、MySQL とやり取りしているという事実を回避するために、単一の関係のジャンル映画を取得してから、一致するジャンルの行を取得しています。コードの一部は、id を持つ映画のジャンルである間に実行される while で囲む必要があります。何かのようなもの:

$film_id = $row_movie_list['film_id']; 
mysql_select_db($database_fot , $fot);
$query_get_genre = "SELECT * FROM film_genre WHERE `id_film` ='". $film_id. "'";
$get_genre = mysql_query($query_get_genre, $fot) or die(mysql_error());

while($row_get_genre = mysql_fetch_assoc($get_genre)){
    $genre_id = $row_get_genre['id_genre'];
    $query_genre = "SELECT * FROM genre WHERE `id_genre` ='". $genre_id. "'";
    $genre= mysql_query($query_genre, $fot) or die(mysql_error());
    $row__genre = mysql_fetch_assoc($genre);

   // You should do whatever you want to do with $row__genre here. Otherwise it will be cleared.
}

これは非推奨であり、MySQL データベースとの安全でない通信方法であると主張しなければなりません。MySQLi または PDO 拡張機能について読むことをお勧めします。

MySQLi: http://www.php.net/manual/en/book.mysqli.php

PDO: http://www.php.net/manual/en/book.pdo.php

于 2014-04-19T00:40:34.573 に答える