Maison >développement back-end >tutoriel php >Comment gérer l'erreur « Essayer d'accéder au décalage du tableau sur la valeur de type Null » en PHP ?
Erreur "Essayer d'accéder au décalage du tableau sur une valeur de type Null" en PHP
Cette erreur se produit lors de la récupération de la base de données lorsque la base de données renvoie non lignes correspondantes ou le jeu de résultats a été épuisé. Les fonctions de base de données renvoient null ou un tableau vide lorsqu'aucun enregistrement correspondant n'existe.
Pour résoudre le problème, vérifiez la véracité de la valeur ou confirmez l'existence de la clé à laquelle vous avez l'intention d'accéder. Prenons l'exemple suivant :
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); if ($m11to1 && $m11to1["lecture_day"] == !'') { echo "<td>".$m11to1["lecture_name"]."</td>"; } else { echo "<td> no class</td>"; }
Pour une seule valeur du tableau de résultats, vous pouvez spécifier une valeur par défaut au cas où le résultat serait vide :
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); $lecture = $m11to1["lecture_day"] ?? null;
La même approche s'applique à PDO :
$monday_lectures = $pdo->prepare("SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"); $monday_lectures->execute(); $m11to1 = $monday_lectures->fetch(); $lecture = $m11to1["lecture_day"] ?? null;
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!