Php If语句无法识别mysql\u num\u行何时返回0结果

Php If语句无法识别mysql\u num\u行何时返回0结果,php,mysql,phpmyadmin,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 =

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

//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)
与某物相反

if ( $sql ) // valid result
{
    if ( mysql_num_rows( $sql ) > 0 ) // more than 0 records
        echo "it exists";
    else
        echo "none";
}
如果上面的代码仍然给您带来问题,那么您的mysql查询中的某些内容会导致找到结果


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

这很有效,谢谢大家的帮助

$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";

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

$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";

您没有检查
mysql\u query
是否返回有效的“结果”。在哪里定义了
$id
变量?子查询似乎不返回任何结果。还可以使用
mysql\u error
函数获取最新的错误消息。您没有检查
mysql\u query
是否返回有效的“结果”。在哪里定义了
$id
变量?子查询似乎不返回任何结果。还可以使用
mysql\u error
函数获取最新的错误消息。我试过了,同样的问题。但是为什么它会在phpmyadmin中正确查询呢?这很有效,谢谢大家的帮助$vid=mysql\u real\u escape\u string(@$\u GET['kjvid')$id=mysql\u real\u escape\u字符串(@$\u GET['pid'])$kjvid=mysql_query(“选择videos.*,page.email FROM videos LEFT JOIN page ON page.email=videos.email,其中page.user_id='$id'和videos.videoid='$videos'”);if(mysql_num_rows($kjvid)==0){echo“none”}else echo“it exists”;我试过了,同样的问题。但是为什么它会在phpmyadmin中正确查询呢?这很有效,谢谢大家的帮助$vid=mysql\u real\u escape\u string(@$\u GET['kjvid')$id=mysql\u real\u escape\u字符串(@$\u GET['pid'])$kjvid=mysql_query(“选择videos.*,page.email FROM videos LEFT JOIN page ON page.email=videos.email,其中page.user_id='$id'和videos.videoid='$videos'”);if(mysql_num_rows($kjvid)==0){echo“none”}else echo“it exists”;