Interface au serveur SQL pour permettre la connexion multi-base.
Les fonctions spip_query et spip_connect admettent un argument supplémentaire optionnel indiquant un serveur de base de données. Le résultat de spip_connect est la fonction à appeler pour effectuer une requete au serveur. Ces fonctions de requetes sont indiquées dans un tableau statique indexé par les différents serveurs. Le tableau est vide au départ, et s'enrichit lors du premiere appe de spip_connect avec un argument nouveau, S. A ce moment, spip_connect charge le fichier base/S.php et invoque la fonction sans argument base_S censée initialisée la connexion au serveur et retourner le nom de la fonction de requetes. Cette fonction est mémorisée dans le tableau statique, afin qu'aux appels suivants, spip_connect retourne immédiatement cette fonction. Ainsi, spip_query peut appeler systématiquement spip_connect sans perte de performances. Cette interface est complètement transparente dans le cas habituel. La globale db_ok (qui n'apparait plus que dans base/db_mysql et une fois à l'installation) est en particulier toujours disponible, mais doit etre considérée comme obsolète: il faut appeler spip_connect() pour savoir si la base est disponible et initialiser la connexion si ce n'est fait. L'utilisation principale de ces changements est de pouvoir appeler spip_query(requete, serveur) dans les fonctions implémentant les modèles de fonctions de abstract_sql.php. En particulier, la fonction par défaut spip_query_db qui repose sur des globales décrivant la connexion standard, peut etre remplacée par une autre fonction s'adressant à un autre serveur SQL, tout en profitant de toutes les autres fonctions de db_mysql.
parent
3828dc44
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Affichage de
- ecrire/balise/formulaire_signature.php 2 ajouts, 3 suppressionsecrire/balise/formulaire_signature.php
- ecrire/base/db_mysql.php 30 ajouts, 1 suppressionecrire/base/db_mysql.php
- ecrire/exec/install.php 1 ajout, 1 suppressionecrire/exec/install.php
- ecrire/inc/actions.php 1 ajout, 3 suppressionsecrire/inc/actions.php
- ecrire/inc/auth.php 1 ajout, 1 suppressionecrire/inc/auth.php
- ecrire/inc/install_4.php 2 ajouts, 6 suppressionsecrire/inc/install_4.php
- ecrire/inc/meta.php 7 ajouts, 5 suppressionsecrire/inc/meta.php
- ecrire/inc/utils.php 24 ajouts, 40 suppressionsecrire/inc/utils.php
- ecrire/public/cacher.php 3 ajouts, 8 suppressionsecrire/public/cacher.php
Veuillez vous inscrire ou vous se connecter pour commenter