确定是否返回任何内容.. PHP MySQL

时间:2010-10-31 01:03:12

标签: php html mysql html-table

我有以下代码:

<table>
<thead>
  <tr>
    <th>Service</th>
    <th>Status</th>
  </tr>
</thead>
<?php $result = mysql_query("SELECT Service, Status FROM services WHERE Company='Company 1'");
  while ($row = mysql_fetch_array($result)) {
          //  ^ must be a single '=' !!!!
      echo '<tr><td>' . $row["Service"] . '</td>';
      echo '<td>' . $row["Status"] . '</td></tr>';
  } ?>
</table>

在HTML表格中显示MySQL数据库中的多行。我的问题是..如何确定是否没有符合我标准的行,并显示一条消息,表明它是空的?

2 个答案:

答案 0 :(得分:2)

在我看来,最好的方法是if语句+ do / while循环:

$result = mysql_query("your query");

if ($row = mysql_fetch_array($result)) {
    do {
        // your loop stuff
    } while ($row = mysql_fetch_array($result));
} else {
    echo "No result";
}

您也可以使用mysql_num_rows函数,但请记住,PDO API没有此类函数,而do / while解决方案适用于任何API。

P.S。如果只使用数组的关联部分,请使用mysql_fetch_assoc而不是mysql_fetch_array。

答案 1 :(得分:2)

您可以使用mysql_num_rows()功能:

$result = mysql_query("SELECT Service ... ");

if (mysql_num_rows($result) > 0) {
   // Display Results
}
else {
   // No Results
}