如果查询结果为零,则显示消息



我有一个名为$uid的变量,如果变量$uid不包含在MySQL表"tweets"的"loginid"字段中,并且任何一行都有另一个变量$submissionid,我想打印一条消息。我认为我的查询$tweetquery是可以的。基本上,如果从"tweets"中提取的loginid变量永远不等于$uid,我希望返回消息。

我该怎么做?

提前感谢

约翰·

$tweetquery = "SELECT loginid
               FROM tweets 
              WHERE submissionid = '$submissionid'";

   $tweetresult = mysql_query($tweetquery);         
   if...
echo '<div>Message</div>';

看看mysql_num_rows($result)

if ( mysql_num_rows($result) > 0 )
{
  // Do something
}
else
{
  echo 'No results';
}

说我疯了吧,但使用mysql_num_rows不是我想要的方法。如果不返回任何内容,mysql_fetch_array不会执行任何破坏性操作,所以正常调用它。

$row = mysql_fetch_array( $resource );
if(!$row)
{
    //do what you would do if the query returned nothing
}
else
{
   do
   {
      // do what you would do with the row
   } while( $row = mysql_fetch_array( $resource ) );
}

mysql_num_rows的问题在于,它实际上表示对数据库的调用,询问指针中存在多少行。坦率地说,这是一个不必要的来回,很容易避免。为什么不避免呢?

您可以使用mysql_num_rows:

if (mysql_num_rows($tweetresult) > 0)
     // results found

使用mysql_num_rows():

if (mysql_num_rows($tweetresult) == 0) {
    echo 'Message';
}
if(mysql_num_rows($tweetresult) == 0)
    echo "<div>Message</div>";
else {
    //Do something if $uid was found
}

mysql_num_rows()返回从数据库中提取的行数。如果提取的行为零,则echo是一条消息。

$tweetquery = "SELECT loginid
           FROM tweets 
          WHERE submissionid = '$submissionid'";

$tweetresult = mysql_query($tweetquery);         
if(mysql_num_rows($tweetresult) > 0){
    // your results here
} else {
    echo '<div>Message</div>';
}

最新更新