0

こんにちは、このトピックに関する調査を行いましたが、いくつかの解決策に出くわしましたが、初心者であるためコードに実装できませんでした。私の質問は基本的に、MySQL データベースに値が見つからない場合にメッセージを表示するにはどうすればよいですか?

以前に検索した: PHPで結果が見つからない場合にメッセージを表示する

       <?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

使用するmysql_num_rows()

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

ノート:

非推奨になるため、mysql_* ファミリ関数は使用しないでください。mysqli または pdo の調査を開始する

于 2013-04-27T08:51:23.750 に答える
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 に答える