>백엔드 개발 >PHP 튜토리얼 >PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?

PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?

WBOY
WBOY원래의
2021-10-27 18:47:214092검색

저번 글에서 "PHP 데이터베이스 학습시 여러 개의 SQL 명령어를 한번에 실행하는 방법은?"을 가져왔습니다. 》에서는 PHP에서 여러 SQL 명령을 동시에 실행하는 관련 지식을 자세히 소개합니다. 이 기사에서는 PHP에서 쿼리 결과의 행 수를 가져오는 방법을 살펴보겠습니다. 모든 사람!

PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?

이전 학습에서 SQL 쿼리 결과를 얻는 방법과 여러 SQL 문을 동시에 실행하는 방법을 배웠습니다. PHP에는 쿼리 결과의 행 수를 얻을 수 있는 함수가 있습니다. 결과적으로 컬렉션에는 몇 개의 데이터가 있습니까? 이 함수는 mysqli_num_rows() 함수입니다. 그러면 mysqli_num_rows()에 대한 관련 지식을 살펴보겠습니다. 기능. mysqli_num_rows() 函数,那接下来我们就来看一下mysqli_num_rows() 函数的相关知识吧。

<strong><span style="font-size: 20px;">mysqli_num_rows()</span></strong> 函数

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

输出结果:

PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?

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

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

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

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

<strong><span style="font-size: 20px;">mysqli_fetch_object()</span></strong> 函数

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

  • <strong><span style="font-size: 20px;">mysqli_num_rows()</span></strong> 함수

PHP에서는 SELECT 문으로 쿼리한 결과 집합에 몇 개의 데이터가 있는지 알고 싶다면 mysqli_num_rows() 함수를 사용해야 합니다. 먼저 함수의 구문 구조를 살펴보겠습니다.

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

객체 지향 쓰기의 구문은 다음과 같습니다.
rrreee

우리가 주목해야 할 점은 다음과 같습니다.

  • $mysqli_result$result는 mysqli_query() 함수에서 반환된 결과 집합입니다. .

    PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?

  • mysqli_num_rows() 이 함수는 SELECT 문에만 유효합니다. 반환된 행 수가 PHP_INI_MAX보다 큰 경우 해당 행 수가 반환됩니다. 문자열 형태로.

    다음은 예제를 통해 mysqli_num_rows() 함수의 사용법을 살펴보겠습니다

    예제는 다음과 같습니다.🎜rrreee🎜출력 결과:🎜🎜🎜PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?🎜🎜위 예제는 객체 지향 방식으로 작성되었습니다. 살펴보겠습니다. 프로세스 중심으로 작성하면:🎜rrreee🎜 출력 결과는 위의 결과와 동일합니다. 위의 예에서는 데이터 세트에 몇 개의 데이터가 있는지 쿼리한 결과가 mysqli_num_rows()를 통해 완성됩니다. 기능. 🎜🎜 앞서 배운 쿼리 결과가 모두 인덱스 배열이나 연관 배열 형식으로 반환되었다는 점을 추가해 보겠습니다. 구현하기 위해 mysqli_fetch_object() 함수를 통해 반환됩니다. 🎜🎜<strong><span style="max-width:90%">mysqli_fetch_object()</span></strong> 함수🎜🎜mysqli_fetch_object() 함수는 결과 집합에서 행을 가져와 객체 형태로 반환할 수 있습니다. 구문은 다음과 같습니다. 🎜 rrreee🎜객체를 작성하기 위한 프로세스 지향 구문 형식을 다음과 같이 살펴보겠습니다. 🎜rrreee🎜주의해야 할 점은: 🎜
      🎜mysqli_result는 mysqli_query() 함수로 얻은 결과 세트를 나타냅니다. 🎜🎜<li>🎜<code>$class_name은 인스턴스화된 클래스 이름을 지정하는 데 사용되는 선택적 매개변수를 나타냅니다. , 속성 설정 및 반환 🎜🎜
    • 🎜$params $classname의 생성자에 전달되는 선택적 매개변수 배열을 지정하는 데 사용되는 선택적 매개변수로 표시됩니다. 🎜🎜🎜🎜 다음으로, mysqli_fetch_object() 함수는 결과 세트의 현재 행을 반환하고 각 필드의 값을 출력하는 예를 살펴보겠습니다. 🎜🎜예제는 다음과 같습니다. 🎜🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜이에서 mysqli_fetch_object() 함수를 사용하여 결과 집합에서 행을 가져와 객체 형식으로 반환할 수 있습니다. 🎜🎜관심이 있으시면 "🎜PHP 비디오 튜토리얼🎜"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다. 🎜

위 내용은 PHP 데이터베이스 학습에서 쿼리 결과의 행 수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.