mysql_num_rows()関数を使って結果セットのレコード数を行ごとに取得する(PHPでMySQLデータベースを操作する方法7)
前回の記事では、結果セットのデータ取得に関する情報を紹介しました。そこで、今日は結果セット内のレコード数を取得する方法を紹介します。結果セット内のレコード数を取得したい場合は、mysql_num_rows() 関数を使用する必要があります。
この章の内容を正式に開始する前に、以前の記事「mysql_fetch_array() を使用して配列結果セット内の情報を取得する (PHP で MySQL データベースを操作する方法 4)」、「mysql_fetch_object() を使用する」を復習しましょう。関数 結果セット内の行をオブジェクトとして取得する (MySQL データベースを操作する PHP メソッド) 」 および 「 mysql_fetch_row() 関数を使用して、結果セット内の各レコードを行ごとに取得する (MySQL データベースを操作する PHP メソッド) " これらの 3 つの記事はどちらも結果セット内の情報を取得する方法を紹介しています。皆さん、復習してください。それでは、今日主に紹介する mysql_num_rows() 関数から始めましょう!
select ステートメントによってクエリされた結果セット内の行数を取得したい場合は、mysql_num_rows() 関数を使用します。この関数の構文形式は次のとおりです。
int mysql_num_rows ( resource $result )
注: mysql_unbuffered_query() 関数を使用してデータ結果をクエリする場合、mysql_num_rows() 関数を使用してクエリ結果セット内のレコード数を取得することはできません。
以下の例は、情報をクエリするときに、mysql_num_rows() 関数を使用して結果セット内のレコードの数を取得する例です。
具体的な開発手順:
1. この例では、前の記事の例に基づいてクエリ結果のレコード数を取得します。
<html> <body> <!--上传文件表单--> <form method="post" action="" name = form1> <table> <tr> <td width="605" height="51" bgcolor="#CC99FF"> <p align="center">请输入查询内容 <input type="text" name="txt_book" id="txt_book" size="25"> <input type="submit" name="Submit" value="查询"> </p> </td> </tr> </table> </form> </body> </html> <?php header("Content-Type:text/html; charset=utf-8"); $link = mysql_connect("localhost","root","root")or die("连接数据库失败".mysql_error()); mysql_select_db("php_cn",$link); mysql_query("set names gb2312"); //设置编码,防止发生乱发 $query = "SELECT * FROM tb_book"; $sql = mysql_query($query); //执行查询语句 //$info = mysql_fetch_array($sql);//获取查询结果,返回值为数组 if(@$_POST['Submit']){ // 判断按钮的值是否为查询 $txt_book = $_POST['txt_book']; //获取文本框提交的值 $sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //执行模糊查询 //$info = mysql_fetch_array($sql); // 获取查询结果 } if($info = false){ //如果检索的信息不存在,则输出相对的提示信息 echo "<p align='center' style='color: #FF0000;font-size: 12px'>对不起,你要查询的信息不存在</p>"; } do { //do...while 循环 ?> <table> <tr align="left" bgcolor="#FFFFFF"> <td height="20" align="center"><?php echo $info["id"] ?></td> <td height="20" align="center"><?php echo $info["bookname"] ?></td> <td height="20" align="center"><?php echo $info["data"] ?></td> <td height="20" align="center"><?php echo $info["price"] ?></td> <td height="20" align="center"><?php echo $info["maker"] ?></td> <td height="20" align="center"><?php echo $info["publisher"] ?></td> </tr> </table> <?php }while($info = mysql_fetch_array($sql)); ?>
2. 上記のコードの終了後、echo ステートメントを使用して、mysql_num_rows() 関数によって設定された SQL クエリ ステートメントの結果セットの行数を出力します。コードは次のとおりです。 :
説明: insert、update、delete ステートメントの影響を受けるデータ行の数を取得したい場合は、mysql_affected_rows() 関数を使用してそれを達成する必要があります。 PHP で MySQL データベースを操作する方法はここで終わりです。理解できない人は、次のトピックでお会いしましょう。
以上がmysql_num_rows() 関数を使用して、結果セット内のレコード数を行ごとに取得します (MySQL データベースを操作するための PHP メソッド 7)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。