[php mysql] Savoir si connexion déjà ouverte

Tittom Messages postés 422 Date d'inscription   Statut Membre Dernière intervention   -  
Tittom Messages postés 422 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite écrire un script, qui s'appuie sur une base MySQL.

Etant donné que ce script doit pouvoir être encapsulé dans un autre script, je veux éviter d'ouvrir une connexion MySQL spécifique dans mon script s'il en existe déjà une ouverte.
D'autre part, si c'est mon script qui a ouvert la connexion MySQL, alors il doit la fermer. Si non, alors il doit la laisser ouverte.

Quelqu'un a-t-il une solution ?

Merci pour vos idées.

-- 
Tittom (ça c'est de la signature)
A voir également:

1 réponse

Utilisateur anonyme
 
Salut Tittom,
Y'a peut etre la fonction mysql_ping qui peut t'aider:
http://fr3.php.net/manual/fr/function.mysql-ping.php

Kalamit,
Parle à ma culasse, mon carter est malade. :)
1
Tittom Messages postés 422 Date d'inscription   Statut Membre Dernière intervention   128
 
Merci pour cette bonne piste.
J'ai fait quelques tests :

<?php
//$id = mysql_connect("localhost", "root", "");

echo "<pre>";
if (!@mysql_ping()) {
    echo "Aucune connexion n'est ouverte.\n";
    echo "Ouverture d'une connexion...\n";
    $id = mysql_connect("localhost", "root", "");
    $fermer_connexion = true;
} else {
    // la connexion existe deja, on ne doit pas la fermer en sortant
    echo "Une connexion était déjà ouverte en début de script.\n";
    $fermer_connexion = false;
}

if (!@mysql_ping()) {
    echo "Connexion inactive !\n";
} else {
    echo "Connexion active.\n";
}

if ($fermer_connexion) {
    echo "Fermeture de la connexion...\n";
    mysql_close($id);
}

if (!@mysql_ping()) {
    echo "Aucune connexion n'est ouverte.\n";
} else {
    echo "La connexion est encore ouverte.\n";
}

echo "</pre>";
?>


== Résultat en appelant ce script sans avoir ouvert de connexion ==
Aucune connexion n'est ouverte.
Ouverture d'une connexion...
Connexion active.
Fermeture de la connexion...
Aucune connexion n'est ouverte.


== Résultat en appelant ce script en ayant déjà ouvert une connexion ==

Une connexion était déjà ouverte en début de script.
Connexion active.
La connexion est encore ouverte.

==============================


Ca répond complètement à mon besoin, merci !

-- 
Tittom (ça c'est de la signature)
0