IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

must be an instance of boolean, boolean given


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de Markos22
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2016
    Messages : 198
    Points : 84
    Points
    84
    Par défaut must be an instance of boolean, boolean given
    Bonjour à tous,

    J'ai un problème avec ma base de données de locaux professionnels à louer. J'ai ajouté un champ booléen à ma base de données, nommé 'plus', et qui correspond à un attribut de mon objet Bien nommé $plusieurs. Il permet de savoir si le site comporte plusieurs locaux à louer.
    J'ai donc dans ma classe Bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function setPlusieurs(boolean $plusieurs) {
    		$this->plusieurs = $plusieurs;
    	}
    	public function isPlusieurs() {
    		return $plusieurs;
    	}
    et la fonction statique getListeBiens() définie ainsi dans ma classe BienDAO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public static function getListe_biens() {
     
    		$bdd = Connect::getInstance();
     
    		$req = $bdd->query('SELECT * FROM biens ORDER BY montant DESC');
     
    		$reponse = $req->fetchAll();
    		$req->closeCursor();
     
    		foreach ($reponse as $k => $v) {
    			self::$liste_biens[$k] = new Bien();
     
    			self::$liste_biens[$k]->setId($v['id']);
    			self::$liste_biens[$k]->setType($v['type']);
    			self::$liste_biens[$k]->setDate_creation($v['date_creation']);
    			self::$liste_biens[$k]->setDate_modif($v['date_modif']);
    			self::$liste_biens[$k]->setCode_postal($v['code_postal']);
    			self::$liste_biens[$k]->setVille($v['ville']);
    			self::$liste_biens[$k]->setVoie($v['voie']);
    			self::$liste_biens[$k]->setSuperficie($v['superficie']);
    			self::$liste_biens[$k]->setMontant($v['montant']);
    			self::$liste_biens[$k]->setDescription($v['description']);
    			self::$liste_biens[$k]->setPlusieurs($v['plus']=0?false:true);
    		}
    Mais PHP n'en veut pas, et me lance cette remarque surprenante :

    Catchable fatal error: Argument 1 passed to Bien::setPlusieurs() must be an instance of boolean, boolean given, called in (...)\bienDAO.php on line 53 and defined in (...)\bien.php on line 84

    sachant que la ligne 53 de bienDAO.php est la ligne 23 ci-dessus, et la ligne 84 de bien.php correspond à la première ligne donnée plus haut...

    J'ai pensé que la difficulté venait de ce que MySQL ne reconnaît pas le booléen et utilise un TINYINT, le mettant à 0 pour "false". Mais apparemment, le message d'erreur reconnaît qu'un booléen a été donné.
    Alors ? Que dois-je faire ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self::$liste_biens[$k]->setPlusieurs($v['plus']=0?false:true);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self::$liste_biens[$k]->setPlusieurs($v['plus']==0?false:true);
    A+.

  3. #3
    Membre régulier Avatar de Markos22
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2016
    Messages : 198
    Points : 84
    Points
    84
    Par défaut
    Une erreur de débutant ! Je suis désolé.
    Merci, andry.aime

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/08/2016, 10h55
  2. Réponses: 4
    Dernier message: 05/05/2013, 20h22
  3. must be an array, boolean given,
    Par hagounet dans le forum Langage
    Réponses: 5
    Dernier message: 21/02/2013, 19h41
  4. Réponses: 3
    Dernier message: 04/08/2012, 13h11
  5. [PHPExcel] __construct() must be an instance of PHPExcel
    Par MadProf dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 20/08/2010, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo