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

Fermé
Tittom Messages postés 422 Date d'inscription mardi 30 mai 2000 Statut Membre Dernière intervention 10 janvier 2007 - 30 mars 2004 à 10:36
Tittom Messages postés 422 Date d'inscription mardi 30 mai 2000 Statut Membre Dernière intervention 10 janvier 2007 - 30 mars 2004 à 11:19
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
30 mars 2004 à 10:39
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 mardi 30 mai 2000 Statut Membre Dernière intervention 10 janvier 2007 128
30 mars 2004 à 11:19
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