2014-04-18 4 views
0

WHERE 절을 사용하여 이러한 쿼리를 실행하는 데 문제가 있습니다.PHP 변수를 삽입 할 때 WHERE 절의 작동 방법

enter image description here

enter image description here

는 내가 뭘하려고 각 영화가 장르를 반환 할 수 있습니다 : I는 다음과 같이 두 개의 테이블이있다. 현재로서는 내가 볼 수있는 데이터가 전혀 반환되지 않습니다. 다음은 두 가지 쿼리입니다.

$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)); ?> 

업데이트 : 이제 두 번 첫째 장르하지만 첫 번째 일초 그냥 메아리하지를 얻을 수와 나는 시도했지만 여전히 운 :

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

에코 $의 row_get_genre의 [ '장르'] – crafter

+0

$ totalRows는 결과를 보여합니까? – dgig

+0

@dgig 답장을 보내 주셔서 감사합니다. 결과는 $ totalRows_genre입니다. 결과는 모든 영화에 대해 1이었고, $ totalRows_get_genre는 각 영화에서 발견 된 장르의 수입니다. 문제가 두 번째 쿼리 어쩌면 뭔가 $ genre_id 업데이 트하지 않는 것 같다? – Nic

답변

0

당신이있어 사실을 피하지 더 이상 사용되지 않는 방식으로 연결을 설정하고 MySQL과 상호 작용하기 때문에, 당신이하고있는 일은 장르별 단일 장르의 장르를 얻은 다음 일치하는 장르의 행을 얻는 것입니다. 코드의 일부를 잠시 둘러 싸서 id가 붙은 영화의 장르 인 동안 실행해야합니다. 다음과 같이하십시오 :

$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