0

嗨,我已经对这个主题进行了研究,我确实遇到了一些解决方案,尽管我无法将它们实现到我的代码中,因为我是这方面的初学者。我的问题基本上是如果在 MySQL 数据库中找不到值,我该如何显示消息?

以前搜索过:在 PHP MySQL 搜索中找不到结果时显示消息,如果没有结果显示消息,则 mysql 获取数组

       <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
 <?php
 $customer = $_GET["custID"];
 $conn = mysql_connect("localhost", "localuser", "pass");
mysql_select_db("testdb", $conn)
or die ('Database not found ' . mysql_error() );
$sql = "SELECT orderNumber, customerID, orderDate, shippingDate, shipped FROM orders where customerID = $customer ORDER by orderDate";
$rs = mysql_query($sql, $conn)
or die ('Problem with query' . mysql_error());
?>
<table border="1" summary="Customer Details">
<tr>
<th>Order Number</th>
<th>Customer ID</th>
<th>Order Date</th>
<th>Shipping Date</th>
<th>Shipped</th>
</tr>
<?php
        $results = mysql_fetch_array($rs);
        if ( $results === FALSE )
        {
             echo "No result";
        }
        else
        {
             foreach($results as $item)
             {?>
                <tr>
                    <td><?php echo $result["orderNumber"]?></td>
                    <td><?php echo $result["customerID"]?></td>
                    <td><?php echo $result["orderDate"]?></td>
                    <td><?php echo $result["shippingDate"]?></td>
                    <td><?php echo $result["shipped"]?></td>
                </tr>
           <?php  }
        }
mysql_close($conn); ?>
</table>
</body>
</html>
4

3 回答 3

0

这种用法if(count($result > 0)) 是错误的。当没有结果时,mysql_fetch_row总是返回 FALSE。请参阅: http: //php.net/manual/en/function.mysql-fetch-array.php

你应该使用这样的时间

    <?php
        $results = mysql_fetch_array($rs);
        if ( $results === FALSE )
        {
             echo "No result";
        }
        else
        {
             foreach($results as $item)
             {
                     ...

             }
        }
    ?>
于 2013-04-27T09:03:23.127 回答
0
$result = mysql_fetch_array($rs)
if($result)

...

于 2013-04-27T09:16:51.433 回答
0

利用mysql_num_rows()

if(mysql_num_rows($rs) > 0) {
  // got records
}
else {
  // no records found
}

笔记:

不要使用 mysql_* 系列函数,因为它们将被弃用。开始研究mysqli或pdo

于 2013-04-27T08:51:23.750 回答