Cannot use object of type stdClass as array

Signaler
Messages postés
1
Date d'inscription
mercredi 21 avril 2021
Statut
Membre
Dernière intervention
21 avril 2021
-
Messages postés
11
Date d'inscription
samedi 5 septembre 2020
Statut
Membre
Dernière intervention
22 avril 2021
-
Bonjour,
je débute avec le code php
j'ai besoin d'aide.
voici l'erreur que je reçois : Fatal error: Uncaught Error: Cannot use object of type stdClass as array in C:\DebutCode\cor\fidele.php:46 Stack trace: #0 {main} thrown in C:\DebutCode\cor\fidele.php on line 46
en exécutant le code suivant :

<?php
   require '../inc/functions.php';
   logged_only();
   require '../inc/db.php';

   $nomPrenom=isset($_GET['nomPrenom'])?$_GET['nomPrenom']:"";
   $idg12=isset($_GET['idg12'])?$_GET['idg12']:0;
   
   $size=isset($_GET['size'])?$_GET['size']:10;
   $page=isset($_GET['page'])?$_GET['page']:1;
   $offset=($page-1)*$size;
   
   $requeteG12="select * from g12";

   if($idg12==0){
       $requeteFidele="select idFidele,nom,prenom,nomG12,photo,civilite 
               from g12 as g,fidele as f
               where g.idG12=f.idG12
               and (nom like '%$nomPrenom%' or prenom like '%$nomPrenom%')
               order by idFidele
               limit $size
               offset $offset";
       
       $requeteCount="select count(*) countF from fidele
               where nom like '%$nomPrenom%' or prenom like '%$nomPrenom%'";
   }else{
        $requeteFidele="select idFidele,nom,prenom,nomG12,photo,civilite 
               from g12 as g,fidele as f
               where g.idG12=f.idG12
               and (nom like '%$nomPrenom%' or prenom like '%$nomPrenom%')
               and g.idG12=$idg12
                order by idFidele
               limit $size
               offset $offset";
       
       $requeteCount="select count(*) countF from fidele
               where (nom like '%$nomPrenom%' or prenom like '%$nomPrenom%')
               and idG12=$idg12";
   }

   $resultatG12=$pdo->query($requeteG12);
   $resultatFidele=$pdo->query($requeteFidele);
   $resultatCount=$pdo->query($requeteCount);

   $tabCount = $resultatCount->fetch();
   $nbrFidele = $tabCount['countF'];
   $reste = $nbrFidele % $size;   
   if($reste===0) 
       $nbrPage=$nbrFidele/$size;   
   else
       $nbrPage=floor($nbrFidele/$size)+1; 
?>


merci d'avance

1 réponse

Messages postés
11
Date d'inscription
samedi 5 septembre 2020
Statut
Membre
Dernière intervention
22 avril 2021

bonjour

lignes 24 et 36 :
$requeteCount="select count(*) countF from fidele
               where nom like '%$nomPrenom%' or prenom like '%$nomPrenom%'"; 

ne manquerait-il pas le AS dans la requête SQL ? :
$requeteCount="select count(*)   AS    countF from ...  " ; 

... donc le "countF" n'est alors pas vu comme une clé du tableau associatif $tabCount[...] contenant le résultat de la requête SQL !

euh , aussi penser à gérer les erreurs en PHP pour savoir d'où vient l'erreur !
bonjournée