我有一个名为$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>';
}