2014-04-27 5 views
0

쿼리가 결과를 반환하면 코드를 실행하고 1 이상을 반환하는 조건을 만들었습니다. 그러나 쿼리가 비어 있으면 0을 얻고 if 문은 활성화되지 않습니다. mysql_num_rows가 작동하지 않습니다 (0을 반환하지 않습니다).

그러나 나는 1을 받고있다 그리고 if 문은 행이가하면 phpMyAdmin SQL 실행기에 그것을 밖으로 테스트 (반환되지 않은 사실에도 불구하고 활성화합니다.

하나의 힌트가 당신의 SQL 쿼리가있다 '고 말한다이다 MySQL은 빈 결과 집합을 '반환'행이 말하는 경우 대신 반환하지 동안 '이 성공적으로 실행되었습니다.

무슨 일이 일어나고 무엇

와 어떻게이 문제를 해결합니까? 내가 알 수있는 바와 같이

$search_num_rows_2 = mysql_query("SELECT * FROM (SELECT tags_movie.name_movie, tags_game.name_game, tags_sport.name_sport, tags_music.name_music, tags_show.name_show FROM tags_game, tags_movie, tags_sport, tags_music, tags_show WHERE tags_game.relation = '$user_id' && tags_movie.relation = '$user_id' && tags_sport.relation = '$user_id' && tags_music.relation = '$user_id' && tags_show.relation = '$user_id') somealias WHERE name_movie LIKE '{$movie}%' && name_game LIKE '{$name_game}%' &&name_sport LIKE '{$sport}%' &&name_music LIKE '{$music}%' && name_show LIKE '{$show}%'"); 

$number = mysql_num_rows($search_num_rows_2); 
echo $number; 
if ($number != 0){ 

    } 
+1

산출. –

+1

끝 부분에서 WHERE 조건을 제거했지만 여전히 쿼리가 성공적으로 실행되었다고합니다. 행이 있으면 표시하지만 아무 것도없는 경우 빈 행임을 표시하지 않습니다. – user3377126

+1

'echo $ number; '의 결과는 무엇입니까? –

답변

0

, 당신이 구현하지 않았다에서 빈 결과를 잡아라.블록과는 같이 있어야

if ($number != 0){ 
    echo $number; 
} else { 
    echo 'Empty result'; 
} 

편집 만약 거기에 아무것도 조건이 WHERE 부분을 제거하고 참조하려고 WHERE 당신이로 얻을 당신이 어떤 결과가 없음을 의미 한

$res = mysql_query("SELECT * FROM (SELECT tags_movie.name_movie, tags_game.name_game, tags_sport.name_sport, tags_music.name_music, tags_show.name_show FROM tags_game, tags_movie, tags_sport, tags_music, tags_show WHERE tags_game.relation = '$user_id' && tags_movie.relation = '$user_id' && tags_sport.relation = '$user_id' && tags_music.relation = '$user_id' && tags_show.relation = '$user_id') somealias WHERE name_movie LIKE '{$movie}%' && name_game LIKE '{$name_game}%' &&name_sport LIKE '{$sport}%' &&name_music LIKE '{$music}%' && name_show LIKE '{$show}%'"); 
$data = mysql_fetch_array($res); 
if (count($data) > 0){ 
     print_r($data); 
} else { 
     echo 'Empty result'; 
}