Mystère avec PDO...
Résolu
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie de faire une requête simple pour générer les pages de mon site:
un print_r($donnees) m'affiche:
Array ( [id] => 6 [titre] => [idsite] => 62 [module] => index [description] => )
mais ça me retourne l'erreur suivante:
Catchable fatal error: Argument 1 passed to Contents::__construct() must be an array, boolean given, called in /web/codressing/www/BIGBOFF/CLASS/Contents.class.php on line 40 and defined in /www/CLASS/Contents.class.php on line 27
Quelqu'un a une idée?? Je suis démunie, là... :'(
J'essaie de faire une requête simple pour générer les pages de mon site:
$db = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASSWORD); $idsite= (int) $idsite; $donnees = array(); $q = $db -> query("SELECT * FROM bigb_site_pages WHERE bigb_site_pages.module='".$module."' AND bigb_site_pages.idsite = ".$idsite); $donnees = $q->fetch(PDO::FETCH_ASSOC); $page = new Pagesite($donnees); $page -> display();
un print_r($donnees) m'affiche:
Array ( [id] => 6 [titre] => [idsite] => 62 [module] => index [description] => )
mais ça me retourne l'erreur suivante:
Catchable fatal error: Argument 1 passed to Contents::__construct() must be an array, boolean given, called in /web/codressing/www/BIGBOFF/CLASS/Contents.class.php on line 40 and defined in /www/CLASS/Contents.class.php on line 27
Quelqu'un a une idée?? Je suis démunie, là... :'(
A voir également:
- Mystère avec PDO...
- Rmc mystere - Accueil - TV & Vidéo
- Boite mystere back market - Accueil - Téléphones
- Colis mystère - Guide
- Batman arkham asylum soluce énigme homme-mystère - Forum Xbox 360
- Chiffre mystere m6 aujourd'hui - Forum Pokémon
2 réponses
Salut !
D'abord, essaye d'utiliser les bindValue de l'objet PDO pour insérer des variables dans ta requete ! C'est plus propre et beaucoup plus sécurisé !
Sinon l'erreur te dis qu'il veut un array() mais tu lui donnes un boolean. Ce qui me parrait bizarre enfaite car le print_r de $donnee montre bien que c'est un tableau ...
Vérifie le constructeur de ta class Pagesite.
Et as tu inclus ta class Pagesite ?
D'abord, essaye d'utiliser les bindValue de l'objet PDO pour insérer des variables dans ta requete ! C'est plus propre et beaucoup plus sécurisé !
Sinon l'erreur te dis qu'il veut un array() mais tu lui donnes un boolean. Ce qui me parrait bizarre enfaite car le print_r de $donnee montre bien que c'est un tableau ...
Vérifie le constructeur de ta class Pagesite.
Et as tu inclus ta class Pagesite ?
Merci pour vos réponses.
En fait, c'est rentré dans l'ordre sans que je comprenne très bien comment, je n'ai pas touché aux classes donc je ne comprendrai jamais pourquoi ça ma réclamait un tableau, alors que c'était un tableau, le mystère reste entier.... :-)
J'avais bien commencé par faire une requête avec les bindValue, mais comme je connais mal la classe PDO, je ne comprenais pas les messages d'erreur. Je tâcherai de la refaire proprement quand j'aurai avancé sur le reste! :-)
Merci encore !
En fait, c'est rentré dans l'ordre sans que je comprenne très bien comment, je n'ai pas touché aux classes donc je ne comprendrai jamais pourquoi ça ma réclamait un tableau, alors que c'était un tableau, le mystère reste entier.... :-)
J'avais bien commencé par faire une requête avec les bindValue, mais comme je connais mal la classe PDO, je ne comprenais pas les messages d'erreur. Je tâcherai de la refaire proprement quand j'aurai avancé sur le reste! :-)
Merci encore !
Visiblement, le constructeur de Pagesite crée un objet de classe Contents, mais ne lui passe pas le bon paramètre