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 ?

Comment gérer l'erreur « Essayer d'accéder au décalage du tableau sur la valeur de type Null » en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-14 19:19:02863parcourir

How to Handle

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!

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