欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用mysql_num_rows()函数逐行获取结果集中的记录数(PHP操作MySQL数据库的方法七)

程序员文章站 2022-03-26 13:50:50
...
使用mysql_num_rows()函数逐行获取结果集中的记录数(PHP操作MySQL数据库的方法七)

前面的文章我们都是介绍获取结果集中数据的信息,那么我们今天给大家介绍如何获取结果集中的记录数,想要实现获取结果集中的记录数,就要使用到mysql_num_rows()函数!

在正式开始本章内容的开始之前,我们先回顾一下上几篇文章《使用mysql_fetch_array()获取数组结果集中的信息(PHP操作MySQL数据库的方法四)》,《使用mysql_fetch_object()函数获取结果集中一行作为对象(PHP操作MySQL数据库的方法五)》和《使用mysql_fetch_row()函数逐行获取结果集中的每条记录(PHP操作MySQL数据库的方法六)》这三篇文章都是介绍了如何获取结果集中的信息,小伙伴们可以回顾下,下面那我们开始我们今天主要介绍的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">&nbsp;
                       <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 查询语句结果集中的行数,代码如下:

<?php
$nums = mysql_num_rows($sql) ;
echo "获取总记录为:".$nums;
?>

运行结果为:

使用mysql_num_rows()函数逐行获取结果集中的记录数(PHP操作MySQL数据库的方法七)

说明:如果要获取由 insert,update,delete语句所影响到的数据行数,那么就必须使用mysql_affected_rows()函数来实现!

PHP操作 MySQL 数据库的方法到这里就结束了,不明白的小伙伴可以在回顾一下,下个专题我们不见不散

以上就是使用mysql_num_rows()函数逐行获取结果集中的记录数(PHP操作MySQL数据库的方法七)的详细内容,更多请关注其它相关文章!