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

Langage PHP Discussion :

sérialisation en session et PDO


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2012
    Messages : 1
    Par défaut sérialisation en session et PDO
    SAlut,
    J'ai un soucis à mettre en session une classe qui possède un objet PDO en variable, même lorsque j'utilise __sleep et que je vire l'objet PDO .
    Inévitablement je me retrouve avec une erreur : Fatal error: Uncaught exception 'PDOException' with message 'You cannot serialize or unserialize PDO instances'
    le code :
    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
    25
    26
    27
     
    class user
    {
    	private $attributes = array();
    	private $pseudo = '';
    	private $bdd;
     
    	public function __construct($pseudo)
    	{
                $this->bdd = mysql::getInstance();
                if($pseudo != '')
                {
                        $this->retrieve_account_from_mysql($pseudo);
                        $this->attributes['sup']=array();
                        $this->attributes['sup']['local']=array();
                        $this->retrieve_activities();
                }
    	}
     
            public function __sleep(){
                $this->bdd = null;
                return array('attributes','pseudo');
            }
     
            public function __wakeup(){
                $this->bdd = mysql::getInstance();
            }
    Quelqu'un aurait une idée de ce qui cloche? Merci d'avance!



    EDIT ::: en fait la méthode marche bien, faut juste faire attention à ce que les variables de l'objet ne soient pas des objets avec aussi un objet PDO dedans!

  2. #2
    Membre éclairé Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Par défaut
    Normal, il n'est pas possible de serialiser une ressource (dans votre cas, une instance)

Discussions similaires

  1. Desactiver la sérialisation de sessions
    Par jamesleouf dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 23/12/2009, 11h43
  2. Réponses: 1
    Dernier message: 21/09/2008, 17h48
  3. [Tomcat 5.5] Sessions persistantes / non sérialisables
    Par Gildas Huart dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 25/05/2007, 00h01
  4. Impossible de sérialiser l'attribut de session
    Par dehbi dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/04/2006, 17h17
  5. [POO] PHP5 et sérialisation, PDO et MySQL5
    Par sylk974 dans le forum Langage
    Réponses: 2
    Dernier message: 24/03/2006, 18h52

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