Notice: Trying to access array offset on value of type bool in
Résolu
Bonjour,
Avec la nouvelle version de php mon application de séminaire en ligne rencontre des erreurs.
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 23
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 29
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 30
Pouvez-vous m'aider ?
Je vous en remercie par avance
Avec la nouvelle version de php mon application de séminaire en ligne rencontre des erreurs.
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 23
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 29
Notice: Trying to access array offset on value of type bool in /home/apache/wseminaire/www/model/ModelAdmin.php on line 30
<?php
include_once('src/db/connect.php');
class Admin {
private $connect;
public function __construct(){
// Récupération de la connexion à la bdd
$cnt = new connect;
$this->connect = $cnt->setConnection();
}
public function calendar(){
// Récupération des données événement pour le calendrier
$req = $this->connect->query('SELECT id, name_ev, date_ev FROM event ORDER BY ID');
return $req;
}
public function nextEv(){
// Récupération des données du prochain événement
$req = $this->connect->query('SELECT id, name_ev, date_ev FROM event WHERE date_ev > CURRENT_DATE ORDER BY date_ev ASC LIMIT 1');
$data = $req->fetch();
$id = $data['id'];
$req2 = $this->connect->prepare("SELECT COUNT(id) as nbr_participant FROM participant WHERE id_event = :id AND particip = 'oui'");
$req2->bindParam(':id', $id, PDO::PARAM_INT);
$req2->execute();
$data2 = $req2->fetch();
$particip = $data2['nbr_participant'];
$nextEv = $data['name_ev'];
$dateEv = $data['date_ev'];
$res = ['dateEv' => $dateEv, 'nextEv' => $nextEv, 'particip' => $particip];
return $res;
}
Pouvez-vous m'aider ?
Je vous en remercie par avance
6 réponses
-
Bonjour,
A la ligne 22, la méthode fetch() retourne à priori la valeur FALSE (booléen) : l'exécution de la requête doit déclencher une erreur sql (penser à activer l'affichage des erreurs sql).
La ligne suivante retourne donc une erreur puisqu'on essaye d'accéder à un élément d'un tableau alors que le tableau est un booléen ($data['id']).
Même chose pour les autres messages d'erreurs.
Commence par activer et traiter les éventuelles erreurs sql pour comprendre d'où vient le problème avec la requête :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Bonne journée,-
-
@david76-21Il serait mieux de montrer ce que tu as essayé pour t'aider à progresser.
L'activation de l'affichage des erreurs se fait au moment de la connexion au serveur sql mais nous n'avons pas accès à ce code.
Quel est le code de la classe Connect ? (masquer les infos confidentielles comme le mot de passe si il est indiqué)
-