mysqli_result :: fetch_row est une méthode dans l'extension mysqli qui est utilisée pour obtenir une ligne de données de l'ensemble de résultats. La valeur de retour est un tableau d'index contenant les données de la ligne, où chaque élément correspond à la valeur de champ du résultat de la requête. Pour les cas où une seule colonne de données est obtenue, elle renvoie généralement un tableau contenant un seul élément de données.
Exemple de code:
<?php
// Connectez-vous à la base de données
$mysqli = new mysqli("localhost", "username", "password", "database");
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// Exécuter une requête
$result = $mysqli->query("SELECT username FROM users");
// Obtenez des données de colonne unique
$row = $result->fetch_row();
echo $row[0]; // La première colonne de données sortira le résultat de la requête,C'est-à-dire le nom d'utilisateur
?>
Dans cet exemple, $ row [0] est les données de la colonne du nom d'utilisateur . La fonction fetch_row est très adaptée aux cas où de seules colonnes uniques ou des lignes de données uniques sont obtenues.
Supposons que nous interrogeons une colonne avec plusieurs noms d'utilisateurs de la base de données, comment traiter ces données? Nous pouvons itérer sur chaque rangée de données en faisant du bouclage ou stocker les résultats dans un tableau pour plus de fonctionnement.
Si le résultat de la requête est une colonne de plusieurs lignes de données, telles que l'obtention de tous les noms d'utilisateurs, vous pouvez utiliser fetch_row et une boucle de temps pour itérer les résultats de chaque ligne:
<?php
// Interroger tous les noms d'utilisateur
$query = "SELECT username FROM users";
$result = $mysqli->query($query);
// Stockez tous les noms d'utilisateur
$usernames = [];
while ($row = $result->fetch_row()) {
$usernames[] = $row[0];
}
// Sortir tous les noms d'utilisateur
foreach ($usernames as $username) {
echo $username . "<br>";
}
?>
Lorsque les données sont extraites dans un tableau, nous pouvons effectuer divers traitements sur eux, tels que le filtrage, le tri, la déduplication, etc. Par exemple, supposons que vous souhaitiez filtrer les noms d'utilisateur contenant des mots clés spécifiques, vous pouvez le faire:
<?php
// Le filtre contient"admin"Nom d'utilisateur
$filtered_usernames = array_filter($usernames, function($username) {
return strpos($username, 'admin') !== false;
});
// 输出过滤后Nom d'utilisateur
foreach ($filtered_usernames as $username) {
echo $username . "<br>";
}
?>
Grâce à la fonction Array_Filter , vous pouvez facilement traiter davantage les données de colonne unique extraites de la base de données.
Parfois, vous devez afficher les données extraites à l'extrémité avant de la page Web, ou la transmettre à l'avant via une URL. En supposant que vous devez transmettre ces données à la balise <code> de la page HTML, voici un exemple de comment intégrer ces données dans HTML:
<?php
// Sortir la liste des utilisateurs à HTML
echo "<ul>";
foreach ($usernames as $username) {
echo "<li><code>m66.net/{$username}</code></li>";
}
echo "</ul>";
?>
Ici, nous intégrons une balise <code> dans chaque balise <li> , qui contient l'URL modifiée. De cette façon, vous pouvez afficher dynamiquement les données de la base de données sur la page frontale.
Si les données doivent être utilisées conjointement avec les URL, vous pouvez générer ces URL directement dans la balise <code> . Par exemple:
<?php
// Sortir le lien de page d'accueil personnel pour chaque utilisateur
foreach ($usernames as $username) {
echo "<p>Page d'accueil personnelle de l'utilisateur: <code>https://m66.net/{$username}</code></p>";
}
?>
Dans cet exemple, la page d'accueil personnelle de chaque utilisateur génère dynamiquement une URL complète avec m66.net comme nom de domaine, et les formats et l'affiche via la balise <code> .
Gestion des erreurs: Lors de l'utilisation de fetch_row , si le résultat de la requête est vide ou si une erreur se produit, la valeur de retour sera nul . Vous pouvez vous assurer que les données valides sont traitées en vérifiant la valeur de retour de fetch_row :
$row = $result->fetch_row();
if ($row) {
// Traitement des données
echo $row[0];
} else {
// Gérer les situations sans données
echo "Aucune donnée trouvée";
}
Optimisation des performances: Lorsque la quantité de données est très grande, il est recommandé d'utiliser des requêtes de pagination ou de limiter le nombre de lignes renvoyées par la requête pour éviter une utilisation excessive de la mémoire en raison d'un chargement excessif de données en même temps.
Grâce à cet article, vous devriez être en mesure de comprendre comment utiliser mysqli_result :: fetch_row pour obtenir et traiter les données de colonne unique, et apprendre à appliquer ces données à la page frontale réelle. J'espère que ces exemples peuvent vous aider à mieux effectuer les opérations de base de données et la présentation des données.