J'ai un script très volumineux et non structuré.Créer une connexion DB temporaire sans perdre la connexion par défaut d'origine
À un certain point dans le script, une connexion DB est établie.
Quelque temps après ce point, j'ai besoin de faire une nouvelle connexion à un autre DB, exécuter une requête, puis déconnecter. Après avoir fait cela, j'ai besoin de tous les appels mysql_query() suivants pour utiliser le lien DB d'origine. Je sais que je peux capturer l'identifiant de lien du premier mysql_connect(), et l'utiliser dans tous les appels mysql_query() pertinents, mais je ne veux pas modifier plus de code que je dois. Je cherche à faire quelque chose comme ceci:
//... loads of code ...
mysql_connect("original connection");
mysql_query(...); // don't want to modify these lines
//... loads more code ...
$link = get_current_mysql_link_identifier(); // imaginary function
$new_link = mysql_connect("my new connection");
mysql_query(...); // uses new connection
mysql_close($new_link);
reinstate_old_link($link); // imaginary function
//... loads more code ...
mysql_query(...) // line remains unchanged. uses original DB link
Sans ces fonctions imaginaires, une fois que la seconde connexion est fermée, mysql_query() ne fait pas défaut à la connexion d'origine; il continue d'essayer et d'utiliser la connexion plus récente et fermée.
Je pense, ** mais ** je pourrais bien être ** mal ** qu'une fois la deuxième connexion fermée, les fonctions 'mysql_' * fonctionneront sur la prochaine connexion disponible, qui dans ce cas serait la première connexion . – Treffynnon
Pas une solution élégante, mais pourquoi vous ne vous reconnectez pas à la première base de données une fois que vous avez terminé avec vos requêtes de base de données secondaires? – Raisen
@Treffynnon J'ai fait quelques tests, et il semble que ça ne retombe pas sur la question d'origine après le mysql_close() – aidan