首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果返回0行,则返回MySQL结果

问如果返回0行,则返回MySQL结果
EN

Stack Overflow用户
提问于 2011-02-19 01:55:08
回答 3查看 33.9K关注 0票数 3

我有以下PHP代码:

代码语言:javascript
复制
$query = "SELECT name, COUNT(message) FROM guestbook_message WHERE name='".$req_user_info['username']."' GROUP BY name"; 

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))
{
    echo "Messages posted: ". $row['COUNT(message)'] ."";
    echo "<br />";
}

它将显示用户发布的评论数量。

如果没有用户发布消息,我如何让它返回值?当前根本不显示任何内容。但我希望它显示“发布的消息: 0”

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-19 01:58:02

使用mysql_num_rows查看result中返回的结果数。

代码语言:javascript
复制
$query = "SELECT name, COUNT(message) FROM guestbook_message WHERE name='".$req_user_info['username']."' GROUP BY name"; 

$result = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($result) > 0)
    while($row = mysql_fetch_array($result))
    {
       echo "Messages posted: ". $row['COUNT(message)'] ."";
       echo "<br />";
    }
else
    echo "NO Messages posted. <br />";
票数 9
EN

Stack Overflow用户

发布于 2011-02-19 01:56:45

代码语言:javascript
复制
if ($row = mysql_fetch_array($result)) {
    echo "Messages posted: ". $row['COUNT(message)'] . "";
    echo "<br />";
}
else {
    echo "Messages posted: 0";
    echo "<br />";
}
票数 1
EN

Stack Overflow用户

发布于 2011-02-19 02:24:46

用tertiary operator替换$row['COUNT(message)']

代码语言:javascript
复制
( $row['COUNT(message)'] > 0 ? $row['COUNT(message)'] : 0 )

这基本上是一个压缩的if... else...语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5044790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档