在之前的文章中给大家带来了《PHP数据库学习之怎样一次执行多条SQL命令?》,其中详细介绍了PHP中想要一次执行多条SQL命令的相关知识,本篇我们来看一下PHP中怎样获取查询结果的行数,希望对大家有帮助!

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

在之前的学习中,我们已经了解怎样获取SQL的查询结果,怎样一次执行多条SQL语句,在PHP中是有函数能够获取查询结果的行数的,也就是查询到的结果集中有多少条数据,这个函数就是 mysqli_num_rows() 函数,那接下来我们就来看一下mysqli_num_rows() 函数的相关知识吧。

mysqli_num_rows() 函数

在 PHP 中,想要获取由 SELECT 语句查询到的结果集中有多少条数据的话,则需要使用 mysqli_num_rows() 函数来实现。首先我们来看一下该函数的语法结构:

$mysqli_result -> num_rows;

这是面向对象写法的语法,下面是面向过程写法的语法:

mysqli_num_rows(mysqli_result $result)

其中我们需要注意的是:

  • $mysqli_result$result 为使用 mysqli_query() 函数返回的结果集。

  • mysqli_num_rows() 函数仅对 SELECT 语句有效,如果返回的行数大于 PHP_INI_MAX,则将行数以字符串的形式返回。

接下来我们通过示例来看一下mysqli_num_rows() 函数的用法吧

示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die('数据库连接失败:'.$mysql->connect_errno);
    }else{
        $sql    = 'select name,sex,age from user';     // SQL 语句
        $result = $mysql -> query($sql);               // 执行上面的 SQL 语句
        $num    = $result -> num_rows;                 // 获取查询结果的行数
        $mysql -> close();
    }
    echo '一共查询到 '.$num.' 条记录。';
?>

输出结果:

1027.11.png

上述示例是通过面向对象的写法,下面看一下面向过程的写法:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $link     = @mysqli_connect($host, $username, $password, $dbname);
    if($link){
    
        $sql    = 'select name,sex,age from user';  // SQL 语句
        $result = mysqli_query($link, $sql);        // 执行 SQL 语句,并返回结果
        $num    = mysqli_num_rows($result);         // 获取查询结果的行数
        mysqli_close($link);
    }else{
        echo '数据库连接失败!';
    }
    echo '一共查询到 '.$num.' 条记录。';
?>

其输出结果与上述结果相同,上述事例中通过mysqli_num_rows() 函数完成了查询数据集有多少条数据的结果。

下面给大家补充一下,之前我们学习查询结果的时候输出的结果都是索引数组或者是关联数组的形式返回的结果,下面给大家补充一下通过对象的形式返回,那就要通过mysqli_fetch_object() 函数来实现。

mysqli_fetch_object() 函数

mysqli_fetch_object() 函数能够从结果集中取得一行,并以对象的形式返回,它的语法格式如下:

mysqli_result::fetch_object([string $class_name = "stdClass"[, array $params]])

这是面向对象的写法,下面我们看一下面向过程的写法语法格式如下:

mysqli_fetch_object(mysqli_result $result[, string $class_name = "stdClass"[, array $params]])

其中需要注意的是:

  • mysqli_result 表示mysqli_query() 函数获取的结果集;

  • $class_name 表示为可选参数,用来规定实例化的类名称,设置属性并返回;

  • $params 表示为可选参数,用来规定一个传给 $classname 的构造函数的可选参数数组。

接下来我们通过示例来看一下mysqli_fetch_object() 函数返回结果集中的当前行,并输出每个字段的值。

示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die('数据库连接失败:'.$mysql->connect_errno);
    }else{
        $sql = 'select name,sex,age from user';     // SQL 语句
        $result = $mysql -> query($sql);            // 执行上面的 SQL 语句
        if($result){
            while($obj = $result -> fetch_object()){
                printf('姓名:%s,性别:%s,年龄:%s <br>', $obj->name,$obj->sex,$obj->age);
            }
        }
        $mysql -> close();
    }
?>

输出结果:

1028.01.png

由此我们便通过mysqli_fetch_object() 函数可以从结果集中取得一行,并以对象的形式返回。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是PHP数据库学习之怎样获取查询结果的行数?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:PHP mySQL PHP mySQL
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:PHP数据库学习之怎样一次执行多条SQL命令?
    • 下一篇:PHP数据库学习之怎样使用PDO连接数据库?

    相关文章

    相关视频


    • 一文讲解Mysql怎么根据ID值的顺序返回结果
    • nginx mysql php如何安装配置
    • PHP中怎样去连接MySQL数据库?
    • PHP中mysqli_select_db与mysq...
    • 详解MYSQL中COLLATE的作用及各种COLL...
    • PHP数据库学习之怎样获取查询结果的行数?
    • mysql数据库基本介绍(2)-安装mysql
    • mysql数据库基本介绍(3)-mysql基本使用
    • mysql数据库基本介绍(4)-三层结构
    • mysql数据库基本介绍(5)-sql语句分类

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    PHP数据库学习之怎样获取查询结果的行数?