如果语句无法识别mysql_num_rows何时返回0结果

时间:2011-07-08 02:52:56

标签: php mysql phpmyadmin

我正在尝试运行代码并且它似乎给了我错误的结果,我尝试了很多方法但仍然没有得到它。这是:

//compares vid num to db been result
$id = mysql_real_escape_string(@$_GET['g']);
$vid = mysql_real_escape_string(@$_GET['v']);
$sql= mysql_query("SELECT videos.* FROM videos WHERE videos.email = 
                 (SELECT email FROM page WHERE page.user_id = '$id') 
                  AND videos.videoid = '$vid'");

if (mysql_num_rows($sql) == 0) { echo "none";} else echo "it exists";

如果我在phpmyadmin中运行查询它运行正确,但是当在PHP中运行时,结果是offfff,即使phpmyadmin返回0是正确的,它也会保持回显存在。我一直试图解决这个问题并且一无所获。我曾尝试!isset($sql)相反的事情。

2 个答案:

答案 0 :(得分:4)

if ( $sql ) // valid result
{
    if ( mysql_num_rows( $sql ) > 0 ) // more than 0 records
        echo "it exists";
    else
        echo "none";
}

如果上面的代码仍然存在问题,那么mysql查询中的某些内容会导致找到结果。

答案 1 :(得分:0)

这是有效的,谢谢你们的帮助

$vid = mysql_real_escape_string(@$_GET['kjvid']); 
$id = mysql_real_escape_string(@$_GET['pid']); 
$kjvid = mysql_query("SELECT videos.*, page.email FROM videos LEFT JOIN page ON page.email = videos.email WHERE page.user_id = '$id' AND videos.videoid = '$vid'");
if (mysql_num_rows($kjvid) == 0) { echo "none";} else echo "it exists";