Erreur lors de la transmission d'un objet par variable session

Résolu
fabienenvac Messages postés 19 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 17 mai 2008 - 26 mars 2008 à 14:49
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 26 mars 2008 à 16:12
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

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 16:12
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
3
Rejoignez-nous