Conserver une connexion MySQL entre plusieurs pages [Résolu]

Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
- 2 oct. 2008 à 15:39 - Dernière réponse :
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
- 3 oct. 2008 à 09:35
Bonjour,

J'aimerais conserver ma connexion entre 2 pages php.

Pour simplifier, dans ma 1ere page, je sauvegarde des données utiles et dans la seconde je les modifie et je reviens avec dans la 1ere pour les traiter.

Pour faire des tests, j'ai fait comme ceci :
Dans 1 fichier j'ai :
$_SESSION['db_conn'] = mysql_pconnect($host,$user,$passwd) ;
 mysql_selectdb($bdd, $_SESSION['db_conn']);

dans l'autre, par exemple :
mysql_query($query, $_SESSION['db_conn']); // creation et remplissage d'une table temporaire

Je reviens dans le 1er fichier pour une autre requete et j'ai de nouveau:
mysql_query($query, $_SESSION['db_conn']);
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

De plus pour les test j'utilise  mysql_pconnect alors qu'à terme, je ne veux pas de connexion persistente.

Mon but est de faire un 'CREATE TEMPORARY TABLE' que la table soit assessible dans mes 2 pages et quand je quitte, je ferme la connexion ce qui détruit automatiquement la table temporaire.

Quelqu'un peut-il me guider ?

Merci
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
- 2 oct. 2008 à 17:56
3
Merci
Salut,

On ne peut pas conserver une connexion MySQL active d'une page à l'autre. En fait, en utilisant une connexion persistante, PHP va conserver une connexion active et la réutiliser si elle est disponible. Mais UNIQUEMENT si mysql_connect() a été appelé avec les mêmes arguments que la première fois.
De même, une table temporaire est liée à la connexion par laquelle elle a été créée. Elle sera donc supprimée à la fin du script. Avec une connexion persistante, je ne sais pas comment ça se passe... Mais sur un site avec un peu de trafic, on ne peut pas compter sur le fait qu'on va garder la même connexion. Il est donc préférable de toujours considérer qu'une table temporaire est détruite à la fin du script, en même temps que la connexion MySQL est fermée.

Il n'y a pas d'alternative. Même l'utilisation d'XmlHTTPRequest (vulgairement : Ajax), on ne pourra pas le faire, puisque XmlHTTPRequest appelle un script à chaque requête, lequel se termine en fermant les connexions MySQL qu'il a pu ouvrir.

Conclusion : la méthode n'est pas bonne...

Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...

Merci neigedhiver 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de neigedhiver
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
- 3 oct. 2008 à 09:35
0
Merci
Merci,

Je vais donc réfléchir à une autre alternative. Peut-être une méthode un peu bourrin, c'est à dire, créer un fichier xml temporaire, au lieu d'une table.
Commenter la réponse de fregolo52

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.