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()` ?
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!