Maison  >  Article  >  développement back-end  >  Comment obtenir le nombre de lignes de résultats de requête dans l'apprentissage de la base de données PHP ?

Comment obtenir le nombre de lignes de résultats de requête dans l'apprentissage de la base de données PHP ?

WBOY
WBOYoriginal
2021-10-27 18:47:214061parcourir

Dans l'article précédent, je vous ai présenté "Comment exécuter plusieurs commandes SQL à la fois lors de l'apprentissage de la base de données PHP ?" 》, qui détaille les connaissances pertinentes sur l'exécution simultanée de plusieurs commandes SQL en PHP. Dans cet article, nous verrons comment obtenir le nombre de lignes de résultats de requête en PHP. J'espère que cela sera utile à tout le monde !

Comment obtenir le nombre de lignes de résultats de requête dans l'apprentissage de la base de données PHP ?

Dans des études précédentes, nous avons appris comment obtenir les résultats d'une requête SQL et comment exécuter plusieurs instructions SQL à la fois. Il existe une fonction en PHP qui peut obtenir le nombre de lignes de résultats d'une requête, qui est la requête. résultat. Combien de données y a-t-il dans la collection ? Cette fonction est la fonction mysqli_num_rows() . Examinons ensuite les connaissances pertinentes de mysqli_num_rows(). fonction. 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;;
?>

输出结果:

Comment obtenir le nombre de lignes de résultats de requête dans lapprentissage de la base de données 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> Fonction

En PHP, si vous souhaitez obtenir le nombre de données contenues dans l'ensemble de résultats interrogé par l'instruction SELECT, vous devez utiliser la fonction mysqli_num_rows(). Tout d'abord, jetons un coup d'œil à la structure syntaxique de la fonction :

<?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();
    }
?>

C'est la syntaxe pour l'écriture orientée objet. Voici la syntaxe pour l'écriture orientée processus :
rrreee

Ce à quoi nous devons prêter attention est :

  • $mysqli_result et $result sont les jeux de résultats renvoyés par la fonction mysqli_query() .

    Comment obtenir le nombre de lignes de résultats de requête dans lapprentissage de la base de données PHP ?

  • mysqli_num_rows() La fonction n'est valide que pour les instructions SELECT. Si le nombre de lignes renvoyées est supérieur à PHP_INI_MAX, le nombre de lignes sera renvoyé. sous la forme d'une chaîne.

    Jetons ensuite un coup d'œil à l'utilisation de la fonction mysqli_num_rows() à travers un exemple

    L'exemple est le suivant :🎜rrreee🎜Résultat de sortie :🎜🎜🎜Comment obtenir le nombre de lignes de résultats de requête dans lapprentissage de la base de données PHP ?🎜🎜L'exemple ci-dessus est écrit de manière orientée objet. Jetons un coup d'oeil avec la manière d'écrire orientée processus :🎜rrreee🎜 Le résultat de sortie est le même que le résultat ci-dessus, le résultat de l'interrogation du nombre d'éléments de données qu'il y a dans l'ensemble de données est complété via mysqli_num_rows(). fonction. 🎜🎜 Permettez-moi d'ajouter quelque chose. Lorsque nous avons appris les résultats des requêtes auparavant, les résultats de sortie étaient tous renvoyés sous forme de tableaux d'index ou de tableaux associatifs. Laissez-moi maintenant vous ajouter les résultats renvoyés sous forme d'objets, qui doivent l'être. renvoyé via la fonction mysqli_fetch_object() à implémenter. 🎜🎜<strong><span style="max-width:90%">mysqli_fetch_object()</span></strong> Fonction🎜🎜mysqli_fetch_object() La fonction peut récupérer une ligne du jeu de résultats et la renvoyer sous la forme d'un objet. Sa syntaxe est la suivante : 🎜 rrreee🎜C'est pour écrire des objets, examinons le format de syntaxe orienté processus comme suit : 🎜rrreee🎜 Ce qu'il faut noter est : 🎜
      🎜mysqli_result représente l'ensemble de résultats obtenu par la fonction mysqli_query() ; 🎜🎜<li>🎜<code>$class_name représente un paramètre facultatif, utilisé pour spécifier le nom de la classe instanciée ; , définissez les attributs et retournez ; 🎜🎜
    • 🎜$params représente les paramètres facultatifs, utilisés pour spécifier un tableau de paramètres facultatifs transmis au constructeur de $classname. 🎜🎜🎜🎜 Ensuite, regardons un exemple. La fonction mysqli_fetch_object() renvoie la ligne actuelle dans le jeu de résultats et affiche la valeur de chaque champ. 🎜🎜L'exemple est le suivant : 🎜🎜rrreee🎜Résultat de sortie : 🎜🎜🎜🎜🎜À partir de là, nous pouvons utiliser la fonction mysqli_fetch_object() pour obtenir une ligne de l'ensemble de résultats et la renvoyer sous la forme d'un objet. 🎜🎜Si vous êtes intéressé, vous pouvez cliquer sur "🎜Tutoriel vidéo PHP🎜" pour en savoir plus sur les connaissances PHP. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn