Maison >développement back-end >tutoriel php >Comment éviter les tableaux vides lors de la récupération de lignes MySQL à l'aide de `mysqli_fetch_row()` ?

Comment éviter les tableaux vides lors de la récupération de lignes MySQL à l'aide de `mysqli_fetch_row()` ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 09:34:16963parcourir

How to Avoid Empty Arrays When Fetching MySQL Rows Using `mysqli_fetch_row()`?

Récupération de lignes d'un objet de résultat MySQL à l'aide de mysqli

Pour obtenir toutes les lignes d'un objet de résultat mysqli et construire un nouveau tableau pour les contenir, la méthode fetch_row() peut être utilisée. Cependant, il est crucial de corriger une erreur de syntaxe qui peut conduire au retour d'un tableau vide au lieu des lignes attendues.

Problème :

Dans l'extrait de code fourni, il y a un point-virgule erroné à la fin de l'instruction de la boucle while :

while($row = $result->fetch_row());

Ce point-virgule termine prématurément la boucle while, entraînant aucune exécution du code au sein de la boucle.

Solution :

Pour remédier à ce problème, supprimez simplement le point-virgule pour permettre la bonne exécution de la boucle :

while($row = $result->fetch_row()) {
    $rows[] = $row;
}

Rapport d'erreurs :

De plus, c'est Il est conseillé de demander à MySQLi de signaler tout problème rencontré :

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']);

$query = "SELECT domain FROM services";
$result = $sql->query($query);
$rows = [];
while($row = $result->fetch_row()) {
    $rows[] = $row;
}
return $rows;

En adhérant à ces suggestions, vous devriez pouvoir récupérer et stocker avec succès toutes les lignes de l'objet résultat dans le tableau $rows.

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