在空的mysql查询返回时返回“No Records Returned”

时间:2013-06-25 06:57:40

标签: php

我有一个从mysql表中提取信息的php脚本。如果脚本没有返回任何行,我想显示一条消息。

我试过了:

$numrows = mysql_num_rows($result);

   if($numrows == 0)
   { 
      echo "No entries"; 
   } 
   else
   {
      //rest of code below 
   }

但它只返回一个错误:

Warning: mysql_num_rows() expects parameter 1 to be resource, object given in /home/content/38/10473938/html/nhs_musical_blog/dashboard.php on line 211

我不明白,因为我在堆栈overflow.com上发现了这个代码,而且提问者对这个答案非常满意,而且对他/她来说似乎工作得很好。我得错的结果是什么?

我的完整代码:(减去登录详情)

                 <?php
                    // Check connection
                    if (mysqli_connect_errno())
                      {
                      echo "Failed to connect to MySQL: " . mysqli_connect_error();
                      }

                    $result = mysqli_query($con,"SELECT * FROM date_entries");

                    $numrows = mysql_num_rows($result);

                    if($numrows == 0)
                    { 
                        echo "No entries"; 
                    } 
                    else
                    {
                        echo "<ul class='mws-summary clearfix'>";

                        while($row = mysqli_fetch_array($result))
                          {
                          echo "<li>";
                          echo "<span class='key'>" . $row['name'] . "</span>";
                          echo "<span class='val'><span class='text-nowrap'>" . $row['date'] . "<a href='' target='_blank'><i class='icon-chevron-right pull-right' style='padding-top:5px;'></i></a>" . "</span></span>";
                          echo "</li>";
                          }
                        echo "</ul>"; 

                        mysqli_close($con);
                    }
                ?>

2 个答案:

答案 0 :(得分:2)

由于您的代码使用的是MYSQLI而不是MYSQL,因此此函数应为MYSQLI版本

$numrows = mysql_num_rows($result);

应该是

$numrows = mysqli_num_rows($result);
                ^

答案 1 :(得分:2)

如果您使用MySQLi,则必须使用

$rowcount=mysqli_num_rows($result);