Position actuelle: Accueil> Derniers articles> [Combinaison de la fonction Real_Query et de la fonction mysqli_fetch_assoc, obtenez facilement et traitez les résultats de la requête

[Combinaison de la fonction Real_Query et de la fonction mysqli_fetch_assoc, obtenez facilement et traitez les résultats de la requête

gitbox 2025-08-30

En combinant la fonction Real_Query et la fonction MySQLI_FETCH_ASSOC, il est facile d'obtenir et de traiter les résultats de la requête

Dans PHP, l'extension MySQLI est l'un des outils les plus couramment utilisés lors du fonctionnement avec une base de données MySQL. Avec l'extension MySQLI , vous pouvez facilement vous connecter à la base de données, exécuter des requêtes et obtenir des résultats de requête. Cet article présentera comment combiner la fonction Real_Query et la fonction mysqli_fetch_assoc pour obtenir et traiter efficacement les résultats de la requête.

Que sont Real_Query et Mysqli_Fetch_assoc ?

Avant de comprendre comment combiner ces deux fonctions, nous devons comprendre leurs fonctions de base:

  • Real_Query : Il s'agit d'une fonction fournie par l'extension MySQLI pour exécuter les requêtes SQL. Contrairement à la fonction de requête , Real_Query enverra directement les commandes SQL à la base de données et les traitera. Lorsque vous devez exécuter des requêtes complexes, l'utilisation de Real_Query offre plus de contrôle et de flexibilité.

  • mysqli_fetch_assoc : Il s'agit d'une autre fonction mysqli très couramment utilisée qui prend une ligne de données du résultat de la requête et la renvoie comme un tableau associatif. Chaque nom de champ sera utilisé comme clé du tableau, et vous pouvez accéder à la valeur correspondante via le nom de champ.

Utilisez Real_Query pour obtenir des données

Tout d'abord, nous voulons créer une connexion de base de données et exécuter des requêtes SQL à l'aide de Real_Query . Real_Query ne renvoie pas le résultat directement, mais récupère l'ensemble de résultats de la requête via mysqli_use_result ou mysqli_store_result .

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Créer une connexion de base de données</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">'test_db'</span></span><span>);

</span><span><span class="hljs-comment">// Vérifiez si la connexion réussit</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'Échec de la connexion: '</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// définitionSQLDéclaration de requête</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, age FROM users"</span></span><span>;

</span><span><span class="hljs-comment">// Exécuter une requête</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">real_query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>)) {
    </span><span><span class="hljs-comment">// Obtenez les résultats de la requête</span></span><span>
    </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">use_result</span></span><span>(); </span><span><span class="hljs-comment">// Utiliser les résultats de la requête</span></span><span>

    </span><span><span class="hljs-comment">// Vérifiez si la requête est réussie</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span>) {
        </span><span><span class="hljs-comment">// Faire une boucle à travers les résultats</span></span><span>
        </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
            </span><span><span class="hljs-comment">// Traiter chaque rangée de données</span></span><span>
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ID: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">" | Name: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>] . </span><span><span class="hljs-string">" | Age: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'age'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
        }
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le résultat de la requête est vide"</span></span><span>;
    }
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"La requête a échoué: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;error;
}

</span><span><span class="hljs-comment">// Fermez la connexion de la base de données</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Dans ce code, nous créons d'abord une connexion à la base de données MySQL à l'aide de l'objet MySQLI . Si la connexion est réussie, nous utilisons la méthode Real_Query pour exécuter l'instruction SQL Query. Ensuite, nous obtenons le résultat de la requête défini via use_result et obtenons la ligne de résultat par ligne via la fonction mysqli_fetch_assoc .

Utilisez mysqli_fetch_assoc pour traiter les résultats

MySQLI_FETCH_ASSOC est une fonction très puissante qui renvoie chaque ligne dans l'ensemble de résultats en tant que tableau associatif. Dans l'exemple ci-dessus, $ row est un tableau où vous pouvez accéder aux données de chaque ligne par des noms de champ, tels que $ row ['id'] , $ row ['name'] et $ row ['age'] .

Cette approche est plus lisible que l'utilisation de MySQLI_Fetch_Row (renvoyant un tableau d'index numérique), car vous pouvez accéder aux données directement par le nom du champ sans vous souvenir de l'emplacement de chaque champ.

Avantages de Real_Query et Mysqli_Fetch_assoc

  1. Flexibilité : Real_Query peut gérer des requêtes plus complexes, ce qui fournit plus de contrôle pour les grandes applications ou les opérations de requête complexes. Vous pouvez exécuter n'importe quelle commande SQL directement via Real_Query , pas seulement une simple requête de sélection.

  2. Efficacité : le tableau associatif renvoyé par MySQLI_Fetch_assoc est plus lisible et intuitif lors du traitement des résultats de la requête, et convient aux scénarios où les données sont traitées efficacement et clairement.

  3. Gestion des erreurs : Real_Query fournit plus d'informations d'erreur et d'informations de diagnostic, ce qui aide les développeurs à localiser les problèmes. MySqli_Fetch_assoc simplifie le processus de traversée de l'ensemble de résultats et évite le problème de gestion manuelle des index.

Résumer

En combinant Real_Query et MySQLI_Fetch_assoc , vous pouvez facilement obtenir et traiter les résultats de la requête de la base de données. Real_Query vous offre des fonctions d'exécution de requête flexibles, tandis que MySQLI_FETCH_ASSOC rend le traitement des résultats plus clairs et plus intuitifs. La maîtrise de l'utilisation de ces deux améliorera considérablement l'efficacité et la lisibilité de vos opérations de base de données en PHP.