Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1462 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PDO] erreur avec fetchColumn

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PDO] erreur avec fetchColumn

n°2231814
golumest
Posté le 25-06-2014 à 16:53:47  profilanswer
 

Bonjour,
 
J'ai une erreur incompréhensible sur une bêêête fonction :

Code :
  1. function getTypeElement($bdd, $id) {
  2. $typePage = "" ;
  3. if($bdd->query('SELECT COUNT(*) FROM `lien_web` WHERE `element_menu_ID` = \''.$id.'\' ')->fetchColumn(0) > 0)
  4.  $typePage = "lienweb" ;
  5. else{
  6.  $idPage = $bdd->query('SELECT `ID` FROM `page` WHERE `element_menu_ID` = \''.$id.'\' ')->fetchColumn(0) ;
  7.  if($bdd->query('SELECT COUNT(*) FROM `menu` WHERE `page_ID` = \''.$idPage.'\'')->fetchColumn(0) > 0) {
  8.   $typePage = "menu" ;
  9.  } else if($bdd->query('SELECT COUNT(*) FROM `circuit` WHERE `page_ID` = \''.$idPage.'\' ')->fetchColumn(0) > 0) {
  10.   $typePage = "circuit" ;
  11.  } else {
  12.   $typePage = "liste" ;
  13.  }
  14. }
  15. return $typePage ;
  16. }


 
Fatal error: Call to a member function fetchColumn() on a non-object in ligne 5
 
Ma fonction renvoie le type de l'élément du menu ayant l'id passé en paramètre, rien de bien sorcier.
 
Ce qui est curieux c'est que ce code fonctionne sans erreur sur un serveur LAMP, par contre sur easy php j'ai l'erreur ci dessus!
 
Encore plus curieux, cette fonction est appelée régulièrement, lors d'un 1ere appel avec une valeur d'id = 1 tout se passe bien, lorsqu'elle est rappeler une 2eme fois avec un $id=206, j'ai immediatement l'erreur!
 
En testant directement les requetes sur ma bdd, les 2 sont ok et renvoie d'alleurs 0!
 
HELP!


Message édité par golumest le 25-06-2014 à 16:54:15
mood
Publicité
Posté le 25-06-2014 à 16:53:47  profilanswer
 

n°2233061
OrcusZ
Pro AMD | .Net lover
Posté le 09-07-2014 à 12:01:56  profilanswer
 

Le PDO utilise le princide objet, ainsi un fetch voudrat traiter un objet SQL
 
Ici l'erreur vient du faite que ta requete renvoir un resultat que fetchColumn ne peut pas traiter car ce n'est pas un objet.
 
Ensuite, il faut savoir que chaque serveur local ( lamp, xamp, wamp, easyphp) ne propose pas la même gestion d'erreur.
EasyPhp n'est pas permissive, tu n'a peut pas l'erreur qui s'affiche sous lamp car tu n'a pas activé la gestion d'erreur au complet.
 
Ensuite je te conseille soit de recoder en php objet ou si tu ne peux pas au moins d'utiliser des requête preparer tu aura moins de soucis.


---------------
Made you your own sentence without believing that of the others...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PDO] erreur avec fetchColumn

 

Sujets relatifs
Noobshell : c'est quoi mon erreur?Équivalent de mysql_num_rows en PDO
Erreur code vhdlErreur d'execution '13' Incompatibilité de type
Erreur install SQL 2008 R2erreur javascript 55 dans indesign cs6
Problème : Type incompatible (erreur 13)erreur
Erreur d'excécution '9' : L'indice n'apparait pas à la selection.[GNUPLOT] Supprimer les sorties d'erreur du terminal [Résolu]
Plus de sujets relatifs à : [PDO] erreur avec fetchColumn


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR