connect_sql.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Constants
- _CONNECT_RETRY_DELAY = 30
Functions
- spip_connect() : bool|array<string|int, mixed>
- Connexion à un serveur de base de données
- spip_sql_erreur() : mixed
- Log la dernière erreur SQL présente sur la connexion indiquée
- spip_connect_sql() : array<string|int, mixed>|bool|string
- Retourne le nom de la fonction adaptée de l'API SQL en fonction du type de serveur
- spip_connect_db() : array<string|int, mixed>|null
- Fonction appelée par le fichier connecteur de base de données crée dans `config/` à l'installation.
- spip_connect_main() : string|bool|int
- Première connexion au serveur principal de base de données
- _q() : string
- Échappement d'une valeur sous forme de chaîne PHP
- query_echappe_textes() : array<string|int, mixed>
- Echapper les textes entre ' ' ou " " d'une requête SQL avant son pre-traitement
- query_reinjecte_textes() : string
- Réinjecter les textes d'une requete SQL à leur place initiale, après traitement de la requête
- spip_query() : bool|mixed
- Exécute une requête sur le serveur SQL
Constants
_CONNECT_RETRY_DELAY
    public
        mixed
    _CONNECT_RETRY_DELAY
    = 30
    
    
    
    
Functions
spip_connect()
Connexion à un serveur de base de données
    
                    spip_connect([string $serveur = '' ][, string $version = '' ]) : bool|array<string|int, mixed>
        On charge le fichier config/$serveur ($serveur='connect' pour le principal)
qui est censé initaliser la connexion en appelant la fonction spip_connect_db
laquelle met dans la globale db_ok la description de la connexion.
On la mémorise dans un tableau pour permettre plusieurs serveurs.
À l'installation, il faut simuler l'existence de ce fichier.
Parameters
- $serveur : string = ''
- 
                    Nom du connecteur 
- $version : string = ''
- 
                    Version de l'API SQL 
Tags
Return values
bool|array<string|int, mixed> —- false si la connexion a échouée,
- tableau décrivant la connexion sinon
spip_sql_erreur()
Log la dernière erreur SQL présente sur la connexion indiquée
    
                    spip_sql_erreur([string $serveur = '' ]) : mixed
    
        Parameters
- $serveur : string = ''
- 
                    Nom du connecteur de bdd utilisé 
spip_connect_sql()
Retourne le nom de la fonction adaptée de l'API SQL en fonction du type de serveur
    
                    spip_connect_sql(string $version[, string $ins = '' ][, string $serveur = '' ][, bool $continue = false ]) : array<string|int, mixed>|bool|string
        Cette fonction ne doit être appelée qu'à travers la fonction sql_serveur définie dans base/abstract_sql
Elle existe en tant que gestionnaire de versions, connue seulement des convertisseurs automatiques
Parameters
- $version : string
- 
                    Numéro de version de l'API SQL 
- $ins : string = ''
- 
                    Instruction de l'API souhaitée, tel que 'allfetsel' 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $continue : bool = false
- 
                    true pour continuer même si le serveur SQL ou l'instruction est indisponible 
Return values
array<string|int, mixed>|bool|string —- string : nom de la fonction à utiliser,
- false : si la connexion a échouée
- array : description de la connexion, si l'instruction sql est indisponible pour cette connexion
spip_connect_db()
Fonction appelée par le fichier connecteur de base de données crée dans `config/` à l'installation.
    
                    spip_connect_db(string $host, string $port, string $login, string $pass[, string $db = '' ][, string $type = 'mysql' ][, string $prefixe = '' ][, string $auth = '' ][, string $charset = '' ]) : array<string|int, mixed>|null
        Il contient un appel direct à cette fonction avec comme arguments les identifants de connexion.
Si la connexion reussit, la globale db_ok mémorise sa description.
C'est un tableau également retourné en valeur, pour les appels
lors de l'installation.
Parameters
- $host : string
- 
                    Adresse du serveur de base de données 
- $port : string
- 
                    Port utilisé pour la connexion 
- $login : string
- 
                    Identifiant de connexion à la base de données 
- $pass : string
- 
                    Mot de passe pour cet identifiant 
- $db : string = ''
- 
                    Nom de la base de données à utiliser 
- $type : string = 'mysql'
- 
                    Type de base de données tel que 'mysql', 'sqlite3' (cf ecrire/req/) 
- $prefixe : string = ''
- 
                    Préfixe des tables SPIP 
- $auth : string = ''
- 
                    Type d'authentification (cas si 'ldap') 
- $charset : string = ''
- 
                    Charset de la connexion SQL (optionnel) 
Return values
array<string|int, mixed>|null —Description de la connexion
spip_connect_main()
Première connexion au serveur principal de base de données
    
                    spip_connect_main(array<string|int, mixed> $connexion[, string $charset_sql_connexion = '' ]) : string|bool|int
        Retourner le charset donnée par la table principale mais vérifier que le fichier de connexion n'est pas trop vieux
Parameters
- $connexion : array<string|int, mixed>
- 
                    Description de la connexion 
- $charset_sql_connexion : string = ''
- 
                    charset de connexion fourni dans l'appal a spip_connect_db 
Tags
Return values
string|bool|int —- false si pas de charset connu pour la connexion
- -1 charset non renseigné
- nom du charset sinon
_q()
Échappement d'une valeur sous forme de chaîne PHP
    
                    _q(int|float|string|array<string|int, mixed> $a) : string
        Échappe une valeur (num, string, array) pour en faire une chaîne pour PHP.
Un array(1,'a',"a'") renvoie la chaine "'1','a','a\''"
Parameters
- $a : int|float|string|array<string|int, mixed>
- 
                    Valeur à échapper 
Tags
Return values
string —Valeur échappée.
query_echappe_textes()
Echapper les textes entre ' ' ou " " d'une requête SQL avant son pre-traitement
    
                    query_echappe_textes(string $query[, mixed $uniqid = null ]) : array<string|int, mixed>
        On renvoi la query sans textes et les textes séparés, dans leur ordre d'apparition dans la query
Parameters
- $query : string
- $uniqid : mixed = null
Tags
Return values
array<string|int, mixed>query_reinjecte_textes()
Réinjecter les textes d'une requete SQL à leur place initiale, après traitement de la requête
    
                    query_reinjecte_textes(string $query, array<string|int, mixed> $textes) : string
    
        Parameters
- $query : string
- $textes : array<string|int, mixed>
Tags
Return values
stringspip_query()
Exécute une requête sur le serveur SQL
Pour compatibilité.
    
                    spip_query(string $query[, string $serveur = '' ]) : bool|mixed
    
        Parameters
- $query : string
- 
                    texte de la requête 
- $serveur : string = ''
- 
                    Nom du connecteur pour la base de données 
Tags
Return values
bool|mixed —- false si on ne peut pas exécuter la requête
- indéfini sinon.