Erreur lors de la transmission d'un objet par variable session [Résolu]

Signaler
Messages postés
19
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
17 mai 2008
-
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

lorsque je transmet un objet grace au session (apres l'avoir serializer ) certaine propriete semble changer et je perds le connexion a ma bdd mysql

j'  ai cette erreur "Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\\class_entrepot.php on line 135"
qui correspond a "$reponse = mysql_query($req,$this->db_link);"

cette fonction marche tres bien lorsque je creer l'objet dans la meme page mais apres transmission cette methode ne fonctionne plus

Merci de votre aide

1 réponse

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

Une connexion à un serveur de bases de données est forcément fermée lorsque le script se termine, sauf en cas de connexion persistante.
Dans tous les cas (connexions persistantes ou non) il FAUT se reconnecter au serveur explicitement (c'est PHP qui gère les connexions persistantes, encore faut-il lui dire qu'on en a besoin...).

Quand tu délinéarise ton objet avec unserialize, PHP va appeler la méthode statique magique __wakeup(), dans laquelle tu peux exécuter du code permettant de t'assurer que l'objet est bien reconstruit tel quel (par exemple, se reconnecter à la base de données).

Voir la doc de PHP pour plus d'infos :
PHP5 : http://fr.php.net/manual/fr/language.oop5.magic.php
PHP4 : http://fr.php.net/manual/fr/language.oop.magic-functions.php

<hr size="2" width="100%" />Neige