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

fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 2 oct. 2008 à 15:39 - Dernière réponse : fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention
- 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 

2 réponses

Répondre au sujet
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 2 oct. 2008 à 17:56
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de neigedhiver
fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 3 oct. 2008 à 09:35
0
Utile
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.