Mystère avec PDO...
Résolu
ephelya
Messages postés
296
Statut
Membre
-
ephelya Messages postés 296 Statut Membre -
ephelya Messages postés 296 Statut Membre -
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
- Colis mystère - Guide
- Boite mystere back market - Accueil - Téléphones
- Cheat code pokemon donjon mystere explorateur du ciel - Forum Jeux vidéo
- Ruban ami pokemon donjon mystere ✓ - Forum Jeux vidéo
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