Bonjour à tous,
existe-t-il une fonction qui retourne le nom de la base de données à laquelle on est connecté ?
genre :
mais en getter.Code:mysql_select_db()
Merci d'avance pour vos réponses.
Version imprimable
Bonjour à tous,
existe-t-il une fonction qui retourne le nom de la base de données à laquelle on est connecté ?
genre :
mais en getter.Code:mysql_select_db()
Merci d'avance pour vos réponses.
Bonjour,
Bien que je comprends pas comment tu ne peux connaître le nom de base de données :? J'ai qd même qqchose à te proposer:
Code:
1
2
3
4
5 $query="select database() AS `db`"; $result=mysql_query($query); $row = mysql_fetch_assoc($result); echo 'database: '.$row['db'],'<p>';
Bonjour et merci de ta réponse.
Ce n'est pas moi qui ait besoin de connaitre le nom de la BDD mais le programme en cours d'exécution...
En effet il se peut que l'on ait eu besoin d'aller chercher des données dans une autre BDD que celle utilisée au début de l'exécution du script.
La fonction qui à changé la connexion à la BDD doit re-connecter le script à la BDD d'origine quand elle à fini de récuperer les données.
Ce que je cherche à savoir c'est si je suis de nouveau connecté à la bonne BDD lorsque la fonction à fini de s'exécuter.
d'ou : vérification...
Tu devrais le vérifier mais une clause
Code:USE `db_name`;
ne modifie pas la connexion. D'ailleurs je me demande pourquoi la lib PDO nécessite de désigner une database à laquelle se connecter...
Il n'est absolument pas nécessaire de déconnecter d'une DB pour connecter à une autre.
Toutes les fonctions mysql_* acceptent un identifiant de ressource en paramètre pour différencier les connexions. Il suffit de s'en servir.
Pour plus d'informations : :faq: Comment travailler sur deux bases différentes dans le même script ?
Autre méthode :Citation:
Envoyé par FAQ
Ne pas sélectionner auparavant la base et utiliser le préfixage dans les requêtes.
On peut ainsi faire des requêtes multibases :
Très pratique lorsqu'on doit reconstruire une base de données mal conçue en la renormalisant.Code:
1
2
3 SELECT a.col1, a.col2, b.col2 FROM base1.table1 AS a INNER JOIN base2.table2 AS b ON a.col1 = b.col1
A ajouter dans la FAQ ?