mysql.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
- _MYSQL_NOPLANES = \true
- _MYSQL_RE_SHOW_TABLE = '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
- _SQL_PREFIXE_TABLE_MYSQL = '/([,\s])spip_/S'
- Changer les noms des tables ($table_prefix)
- spip_interdire_cache = true
Functions
- req_mysql_dist() : array<string|int, mixed>|bool
- Crée la première connexion à un serveur MySQL via MySQLi
- _mysql_link() : object
- Retrouver un link d'une connexion MySQL via MySQLi
- spip_mysql_set_charset() : mysqli_result|bool
- Définit un charset pour la connexion avec Mysql
- spip_mysql_get_charset() : array<string|int, mixed>
- Teste si le charset indiqué est disponible sur le serveur SQL
- spip_mysql_query() : mysqli_result|bool|string|array<string|int, mixed>
- Exécute une requête MySQL, munie d'une trace à la demande
- spip_mysql_alter() : array<string|int, mixed>|bool|string
- Modifie une structure de table MySQL
- spip_mysql_optimize() : bool
- Optimise une table MySQL
- spip_mysql_explain() : array<string|int, mixed>
- Retourne une explication de requête (Explain) MySQL
- spip_mysql_select() : array<string|int, mixed>|bool|resource|string
- Exécute une requête de sélection avec MySQL
- spip_mysql_order() : string
- Prépare une clause order by
- calculer_mysql_where() : string
- Prépare une clause WHERE pour MySQL
- calculer_mysql_expression() : string
- Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
- spip_mysql_select_as() : string
- Renvoie des `nom AS alias`
- _mysql_traite_query() : string
- Prépare le texte d'une requête avant son exécution
- spip_mysql_selectdb() : bool
- Sélectionne une base de données
- spip_mysql_listdbs() : array<string|int, mixed>
- Retourne les bases de données accessibles
- spip_mysql_create() : array<string|int, mixed>|null|resource|string
- Crée une table SQL
- _mysql_remplacements_definitions_table() : string|array<string|int, mixed>
- Adapte pour Mysql la déclaration SQL d'une colonne d'une table
- spip_mysql_create_base() : bool
- Crée une base de données MySQL
- spip_mysql_create_view() : bool|string
- Crée une vue SQL nommée `$nom`
- spip_mysql_drop_table() : bool|string
- Supprime une table SQL
- spip_mysql_drop_view() : bool|string
- Supprime une vue SQL
- spip_mysql_showbase() : mysqli_result|bool|string
- Retourne une ressource de la liste des tables de la base de données
- spip_mysql_repair() : bool|string|array<string|int, mixed>
- Répare une table SQL
- spip_mysql_table_exists() : bool|string
- Indique si une table existe dans la base de données
- spip_mysql_showtable() : array<string|int, mixed>|string
- Obtient la description d'une table ou vue MySQL
- spip_mysql_fetch() : array<string|int, mixed>|null|false
- Rècupère une ligne de résultat
- spip_mysql_seek() : bool
- Place le pointeur de résultat sur la position indiquée
- spip_mysql_countsel() : int|string
- Retourne le nombre de lignes d'une sélection
- spip_mysql_error() : string
- Retourne la dernière erreur generée
- spip_mysql_errno() : int
- Retourne le numero de la dernière erreur SQL
- spip_mysql_count() : int
- Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
- spip_mysql_free() : bool
- Libère une ressource de résultat
- spip_mysql_insert() : bool|string|int|array<string|int, mixed>
- Insère une ligne dans une table
- spip_mysql_insertq() : bool|string|int|array<string|int, mixed>
- Insère une ligne dans une table, en protégeant chaque valeur
- spip_mysql_insertq_multi() : int|bool|string
- Insère plusieurs lignes d'un coup dans une table
- spip_mysql_update() : array<string|int, mixed>|bool|string
- Met à jour des enregistrements d'une table SQL
- spip_mysql_updateq() : array<string|int, mixed>|bool|string|null
- Met à jour des enregistrements d'une table SQL et protège chaque valeur
- spip_mysql_delete() : bool|string
- Supprime des enregistrements d'une table
- spip_mysql_replace() : bool|string
- Insère où met à jour une entrée d’une table SQL
- spip_mysql_replace_multi() : bool|string
- Insère où met à jour des entrées d’une table SQL
- spip_mysql_multi() : string
- Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
- spip_mysql_hex() : string
- Prépare une chaîne hexadécimale
- spip_mysql_quote() : string|number
- Échapper une valeur selon son type ou au mieux comme le fait `_q()` mais pour MySQL avec ses spécificités
- spip_mysql_date_proche() : string
- Tester si une date est proche de la valeur d'un champ
- spip_mysql_in() : string
- Retourne une expression IN pour le gestionnaire de base de données
- spip_mysql_cite() : string|number
- Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
- spip_versions_mysql() : bool
- Teste si on a les fonctions MySQLi (pour l'install)
- test_rappel_nom_base_mysql() : string
- Tester si mysql ne veut pas du nom de la base dans les requêtes
- test_sql_mode_mysql() : string
- Teste si on peut changer les modes de MySQL
Constants
_MYSQL_NOPLANES
    public
        mixed
    _MYSQL_NOPLANES
    = \true
    
    
    
    
_MYSQL_RE_SHOW_TABLE
    public
        mixed
    _MYSQL_RE_SHOW_TABLE
    = '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
    
    
    
    
_SQL_PREFIXE_TABLE_MYSQL
Changer les noms des tables ($table_prefix)
    public
        mixed
    _SQL_PREFIXE_TABLE_MYSQL
    = '/([,\s])spip_/S'
        TODO: Quand tous les appels SQL seront abstraits on pourra l'améliorer
spip_interdire_cache
    public
        mixed
    spip_interdire_cache
    = true
    
    
    
    
Functions
req_mysql_dist()
Crée la première connexion à un serveur MySQL via MySQLi
    
                    req_mysql_dist(string $host, int $port, string $login, string $pass[, string $db = '' ][, string $prefixe = '' ]) : array<string|int, mixed>|bool
    
        Parameters
- $host : string
- 
                    Chemin du serveur 
- $port : int
- 
                    Port de connexion 
- $login : string
- 
                    Nom d'utilisateur 
- $pass : string
- 
                    Mot de passe 
- $db : string = ''
- 
                    Nom de la base 
- $prefixe : string = ''
- 
                    Préfixe des tables SPIP 
Return values
array<string|int, mixed>|bool —- false si la connexion a échoué
- tableau décrivant la connexion sinon
_mysql_link()
Retrouver un link d'une connexion MySQL via MySQLi
    
                    _mysql_link([string $serveur = '' ]) : object
    
        Parameters
- $serveur : string = ''
- 
                    Nom du serveur 
Return values
object —Information de connexion pour mysqli
spip_mysql_set_charset()
Définit un charset pour la connexion avec Mysql
    
                    spip_mysql_set_charset(string $charset[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool
    
        Parameters
- $charset : string
- 
                    Charset à appliquer 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    inutilisé 
Return values
mysqli_result|bool —Jeu de résultats pour fetch()
spip_mysql_get_charset()
Teste si le charset indiqué est disponible sur le serveur SQL
    
                    spip_mysql_get_charset([array<string|int, mixed>|string $charset = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
    
        Parameters
- $charset : array<string|int, mixed>|string = []
- 
                    Nom du charset à tester. 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    inutilisé 
Return values
array<string|int, mixed> —Description du charset (son nom est dans 'charset')
spip_mysql_query()
Exécute une requête MySQL, munie d'une trace à la demande
    
                    spip_mysql_query(string $query[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool|string|array<string|int, mixed>
    
        Parameters
- $query : string
- 
                    Requête 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
mysqli_result|bool|string|array<string|int, mixed> —- mysqli_result|bool : Si requête exécutée
- string : texte de la requête si on ne l'exécute pas
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_alter()
Modifie une structure de table MySQL
    
                    spip_mysql_alter(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
    
        Parameters
- $query : string
- 
                    Requête SQL (sans 'ALTER ') 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si on ne l'exécute pas
- bool : Si requête exécutée
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_optimize()
Optimise une table MySQL
    
                    spip_mysql_optimize(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool
    
        Parameters
- $table : string
- 
                    Nom de la table 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    inutilisé 
Return values
bool —Toujours true
spip_mysql_explain()
Retourne une explication de requête (Explain) MySQL
    
                    spip_mysql_explain(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
    
        Parameters
- $query : string
- 
                    texte de la requête 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    inutilisé 
Return values
array<string|int, mixed> —Tableau de l'explication
spip_mysql_select()
Exécute une requête de sélection avec MySQL
    
                    spip_mysql_select(string|array<string|int, mixed> $select, string|array<string|int, mixed> $from[, string|array<string|int, mixed> $where = '' ][, string|array<string|int, mixed> $groupby = '' ][, string|array<string|int, mixed> $orderby = '' ][, string $limit = '' ][, string|array<string|int, mixed> $having = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|resource|string
        Instance de sql_select (voir ses specs).
Parameters
- $select : string|array<string|int, mixed>
- 
                    Champs sélectionnés 
- $from : string|array<string|int, mixed>
- 
                    Tables sélectionnées 
- $where : string|array<string|int, mixed> = ''
- 
                    Contraintes 
- $groupby : string|array<string|int, mixed> = ''
- 
                    Regroupements 
- $orderby : string|array<string|int, mixed> = ''
- 
                    Tris 
- $limit : string = ''
- 
                    Limites de résultats 
- $having : string|array<string|int, mixed> = ''
- 
                    Contraintes posts sélections 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Tags
Return values
array<string|int, mixed>|bool|resource|string —- string : texte de la requête si on ne l'exécute pas
- ressource si requête exécutée, ressource pour fetch()
- false si la requête exécutée a ratée
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_order()
Prépare une clause order by
    
                    spip_mysql_order(string|array<string|int, mixed> $orderby) : string
        Regroupe en texte les éléments si un tableau est donné
Parameters
- $orderby : string|array<string|int, mixed>
- 
                    texte du orderby à préparer 
Tags
Return values
string —texte du orderby préparé
calculer_mysql_where()
Prépare une clause WHERE pour MySQL
    
                    calculer_mysql_where(array<string|int, mixed>|string $v) : string
        Retourne une chaîne avec les bonnes parenthèses pour la contrainte indiquée, au format donnée par le compilateur
Parameters
- $v : array<string|int, mixed>|string
- 
                    Description des contraintes - string : texte du where
- sinon tableau : A et B peuvent être de type string ou array,
OP et C sont de type string :
- array(A) : A est le texte du where
- array(OP, A) : contrainte OP( A )
- array(OP, A, B) : contrainte (A OP B)
- array(OP, A, B, C) : contrainte (A OP (B) : C)
 
 
Return values
string —Contrainte pour clause WHERE
calculer_mysql_expression()
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
    
                    calculer_mysql_expression(string $expression, array<string|int, mixed>|string $v[, string $join = 'AND' ]) : string
        Renvoie grosso modo "$expression join($join, $v)"
Parameters
- $expression : string
- 
                    Mot clé de l'expression, tel que "WHERE" ou "ORDER BY" 
- $v : array<string|int, mixed>|string
- 
                    Données de l'expression 
- $join : string = 'AND'
- 
                    Si les données sont un tableau, elles seront groupées par cette jointure 
Return values
string —texte de l'expression, une partie donc, du texte la requête.
spip_mysql_select_as()
Renvoie des `nom AS alias`
    
                    spip_mysql_select_as(array<string|int, mixed> $args) : string
    
        Parameters
- $args : array<string|int, mixed>
Return values
string —Sélection de colonnes pour une clause SELECT
_mysql_traite_query()
Prépare le texte d'une requête avant son exécution
    
                    _mysql_traite_query(string $query[, string $db = '' ][, string $prefixe = '' ][, bool $echappe_textes = true ]) : string
        Change les préfixes de tables SPIP par ceux véritables
Parameters
- $query : string
- 
                    Requête à préparer 
- $db : string = ''
- 
                    Nom de la base de donnée 
- $prefixe : string = ''
- 
                    Préfixe de tables à appliquer 
- $echappe_textes : bool = true
- 
                    Pour ne pas essayer de re-echapper une chaine deja echappee qu'on traite en recursif 
Return values
string —Requête préparée
spip_mysql_selectdb()
Sélectionne une base de données
    
                    spip_mysql_selectdb(string $db[, string $serveur = '' ][, bool $requeter = true ]) : bool
    
        Parameters
- $db : string
- 
                    Nom de la base à utiliser 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
bool —- True cas de succès.
- False en cas d'erreur.
spip_mysql_listdbs()
Retourne les bases de données accessibles
    
                    spip_mysql_listdbs([string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
        Retourne un tableau du nom de toutes les bases de données accessibles avec les permissions de l'utilisateur SQL de cette connexion.
Attention on n'a pas toujours les droits !
Parameters
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
array<string|int, mixed> —Liste de noms de bases de données
spip_mysql_create()
Crée une table SQL
    
                    spip_mysql_create(string $nom, array<string|int, mixed> $champs, array<string|int, mixed> $cles[, bool $autoinc = false ][, bool $temporary = false ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|resource|string
        Crée une table SQL nommee $nom à partir des 2 tableaux $champs et $cles
Parameters
- $nom : string
- 
                    Nom de la table SQL 
- $champs : array<string|int, mixed>
- 
                    Couples (champ => description SQL) 
- $cles : array<string|int, mixed>
- 
                    Couples (type de clé => champ(s) de la clé) 
- $autoinc : bool = false
- 
                    True pour ajouter un auto-incrément sur la Primary Key 
- $temporary : bool = false
- 
                    True pour créer une table temporaire 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    inutilisé 
Tags
Return values
array<string|int, mixed>|null|resource|string —- null si champs ou cles n'est pas un tableau
- true si la requête réussie, false sinon.
_mysql_remplacements_definitions_table()
Adapte pour Mysql la déclaration SQL d'une colonne d'une table
    
                    _mysql_remplacements_definitions_table(string|array<string|int, mixed> $query) : string|array<string|int, mixed>
    
        Parameters
- $query : string|array<string|int, mixed>
- 
                    Définition SQL d'un champ de table ou liste de déclarations 
Tags
Return values
string|array<string|int, mixed> —Définition SQL adaptée pour MySQL d'un champ de table
spip_mysql_create_base()
Crée une base de données MySQL
    
                    spip_mysql_create_base(string $nom[, string $serveur = '' ][, bool $requeter = true ]) : bool
    
        Parameters
- $nom : string
- 
                    Nom de la base 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool —true si la base est créee.
spip_mysql_create_view()
Crée une vue SQL nommée `$nom`
    
                    spip_mysql_create_view(string $nom, string $query_select[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
    
        Parameters
- $nom : string
- 
                    Nom de la vue à creer 
- $query_select : string
- 
                    texte de la requête de sélection servant de base à la vue 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Effectuer la requete, sinon la retourner 
Return values
bool|string —- true si la vue est créée
- false si erreur ou si la vue existe déja
- string texte de la requête si $requeter vaut false
spip_mysql_drop_table()
Supprime une table SQL
    
                    spip_mysql_drop_table(string $table[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
    
        Parameters
- $table : string
- 
                    Nom de la table SQL 
- $exist : bool = false
- 
                    True pour ajouter un test d'existence avant de supprimer 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_mysql_drop_view()
Supprime une vue SQL
    
                    spip_mysql_drop_view(string $view[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
    
        Parameters
- $view : string
- 
                    Nom de la vue SQL 
- $exist : bool = false
- 
                    True pour ajouter un test d'existence avant de supprimer 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_mysql_showbase()
Retourne une ressource de la liste des tables de la base de données
    
                    spip_mysql_showbase(string $match[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool|string
    
        Parameters
- $match : string
- 
                    Filtre sur tables à récupérer 
- $serveur : string = ''
- 
                    Connecteur de la base 
- $requeter : bool = true
- 
                    true pour éxecuter la requête false pour retourner le texte de la requête. 
Return values
mysqli_result|bool|string —Ressource à utiliser avec sql_fetch()
spip_mysql_repair()
Répare une table SQL
    
                    spip_mysql_repair(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string|array<string|int, mixed>
        Utilise REPAIR TABLE ... de MySQL
Parameters
- $table : string
- 
                    Nom de la table SQL 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string|array<string|int, mixed> —- string texte de la requête si demandée,
- true si la requête a réussie, false sinon
spip_mysql_table_exists()
Indique si une table existe dans la base de données
    
                    spip_mysql_table_exists(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
    
        Parameters
- $table : string
- 
                    Table dont on cherche l’existence 
- $serveur : string = ''
- 
                    Connecteur de la base 
- $requeter : bool = true
- 
                    true pour éxecuter la requête false pour retourner le texte de la requête. 
Return values
bool|string —- true si la table existe, false sinon
- string : requete sql, si $requeter = true
spip_mysql_showtable()
Obtient la description d'une table ou vue MySQL
    
                    spip_mysql_showtable(string $nom_table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string
        Récupère la définition d'une table ou d'une vue avec colonnes, indexes, etc. au même format que la définition des tables SPIP, c'est à dire un tableau avec les clés
- field(tableau colonne => description SQL) et
- key(tableau type de clé => colonnes)
Parameters
- $nom_table : string
- 
                    Nom de la table SQL 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
array<string|int, mixed>|string —- chaîne vide si pas de description obtenue
- string texte de la requête si demandé
- array description de la table sinon
spip_mysql_fetch()
Rècupère une ligne de résultat
    
                    spip_mysql_fetch(mysqli_result $r[, string $t = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|false
        Récupère la ligne suivante d'une ressource de résultat
Parameters
- $r : mysqli_result
- 
                    Jeu de résultats (issu de sql_select) 
- $t : string = ''
- 
                    Structure de résultat attendu (défaut MYSQLI_ASSOC) 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
array<string|int, mixed>|null|false —- array Ligne de résultat
- null Pas de résultat
- false Erreur
spip_mysql_seek()
Place le pointeur de résultat sur la position indiquée
    
                    spip_mysql_seek(mysqli_result $r, int $row_number[, string $serveur = '' ][, bool $requeter = true ]) : bool
    
        Parameters
- $r : mysqli_result
- 
                    Jeu de résultats 
- $row_number : int
- 
                    Position. Déplacer le pointeur à cette ligne 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
bool —True si déplacement réussi, false sinon.
spip_mysql_countsel()
Retourne le nombre de lignes d'une sélection
    
                    spip_mysql_countsel([array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = '' ][, array<string|int, mixed>|string $having = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|string
    
        Parameters
- $from : array<string|int, mixed>|string = []
- 
                    Tables à consulter (From) 
- $where : array<string|int, mixed>|string = []
- 
                    Conditions a remplir (Where) 
- $groupby : array<string|int, mixed>|string = ''
- 
                    Critère de regroupement (Group by) 
- $having : array<string|int, mixed>|string = []
- 
                    Tableau des des post-conditions à remplir (Having) 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
int|string —- string texte de la requête si demandé
- int Nombre de lignes (0 si la requête n'a pas réussie)
spip_mysql_error()
Retourne la dernière erreur generée
    
                    spip_mysql_error([string $query = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
    
        Parameters
- $query : string = ''
- 
                    Requête qui était exécutée 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Tags
Return values
string —Erreur eventuelle
spip_mysql_errno()
Retourne le numero de la dernière erreur SQL
    
                    spip_mysql_errno([string $serveur = '' ][, bool $requeter = true ]) : int
    
        Parameters
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
int —0, pas d'erreur. Autre, numéro de l'erreur.
spip_mysql_count()
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
    
                    spip_mysql_count(resource $r[, string $serveur = '' ][, bool $requeter = true ]) : int
    
        Parameters
- $r : resource
- 
                    Ressource de résultat 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
int —Nombre de lignes
spip_mysql_free()
Libère une ressource de résultat
    
                    spip_mysql_free(mysqli_result $r[, string $serveur = '' ][, bool $requeter = true ]) : bool
        Indique à MySQL de libérer de sa mémoire la ressource de résultat indiquée car on n'a plus besoin de l'utiliser.
Parameters
- $r : mysqli_result
- 
                    Jeu de résultats 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
bool —True si réussi
spip_mysql_insert()
Insère une ligne dans une table
    
                    spip_mysql_insert(string $table, string $champs, string $valeurs[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
    
        Parameters
- $table : string
- 
                    Nom de la table SQL 
- $champs : string
- 
                    Liste des colonnes impactées, 
- $valeurs : string
- 
                    Liste des valeurs, 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_mysql_insertq()
Insère une ligne dans une table, en protégeant chaque valeur
    
                    spip_mysql_insertq(string $table[, array<string|int, mixed> $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
    
        Parameters
- $table : string
- 
                    Nom de la table SQL 
- $couples : array<string|int, mixed> = []
- 
                    Couples (colonne => valeur) 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_mysql_insertq_multi()
Insère plusieurs lignes d'un coup dans une table
    
                    spip_mysql_insertq_multi(string $table[, array<string|int, mixed> $tab_couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|bool|string
    
        Parameters
- $table : string
- 
                    Nom de la table SQL 
- $tab_couples : array<string|int, mixed> = []
- 
                    Tableau de tableaux associatifs (colonne => valeur) 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
int|bool|string —- int|true identifiant du dernier élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_update()
Met à jour des enregistrements d'une table SQL
    
                    spip_mysql_update(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
    
        Parameters
- $table : string
- 
                    Nom de la table 
- $champs : array<string|int, mixed>
- 
                    Couples (colonne => valeur) 
- $where : string|array<string|int, mixed> = ''
- 
                    Conditions a remplir (Where) 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
spip_mysql_updateq()
Met à jour des enregistrements d'une table SQL et protège chaque valeur
    
                    spip_mysql_updateq(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string|null
        Protège chaque valeur transmise avec sql_quote(), adapté au type de champ attendu par la table SQL
Parameters
- $table : string
- 
                    Nom de la table 
- $champs : array<string|int, mixed>
- 
                    Couples (colonne => valeur) 
- $where : string|array<string|int, mixed> = ''
- 
                    Conditions a remplir (Where) 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom de la connexion 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Tags
Return values
array<string|int, mixed>|bool|string|null —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
- null si $champs est vide
spip_mysql_delete()
Supprime des enregistrements d'une table
    
                    spip_mysql_delete(string $table[, string|array<string|int, mixed> $where = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
    
        Parameters
- $table : string
- 
                    Nom de la table SQL 
- $where : string|array<string|int, mixed> = ''
- 
                    Conditions à vérifier 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string —- int : nombre de suppressions réalisées,
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_replace()
Insère où met à jour une entrée d’une table SQL
    
                    spip_mysql_replace(string $table, array<string|int, mixed> $couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
        La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférez updateq ou insertq.
Parameters
- $table : string
- 
                    Nom de la table SQL 
- $couples : array<string|int, mixed>
- 
                    Couples colonne / valeur à modifier, 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_replace_multi()
Insère où met à jour des entrées d’une table SQL
    
                    spip_mysql_replace_multi(string $table, array<string|int, mixed> $tab_couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
        La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférez insertq_multi et sql_updateq
Parameters
- $table : string
- 
                    Nom de la table SQL 
- $tab_couples : array<string|int, mixed>
- 
                    Tableau de tableau (colonne / valeur à modifier), 
- $desc : array<string|int, mixed> = []
- 
                    Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis). 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Exécuter la requête, sinon la retourner 
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_multi()
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
    
                    spip_mysql_multi(string $objet, string $lang) : string
        Cette sélection est mise dans l'alias multi (instruction AS multi).
Parameters
- $objet : string
- 
                    Colonne ayant le texte 
- $lang : string
- 
                    Langue à extraire 
Return values
string —texte de sélection pour la requête
spip_mysql_hex()
Prépare une chaîne hexadécimale
    
                    spip_mysql_hex(string $v) : string
        Par exemple : FF ==> 0xFF en MySQL
Parameters
- $v : string
- 
                    Chaine hexadecimale 
Return values
string —Valeur hexadécimale pour MySQL
spip_mysql_quote()
Échapper une valeur selon son type ou au mieux comme le fait `_q()` mais pour MySQL avec ses spécificités
    
                    spip_mysql_quote(string|array<string|int, mixed>|number $v[, string $type = '' ]) : string|number
    
        Parameters
- $v : string|array<string|int, mixed>|number
- 
                    texte, nombre ou tableau à échapper 
- $type : string = ''
- 
                    Description du type attendu (par exemple description SQL de la colonne recevant la donnée) 
Return values
string|number —Donnée prête à être utilisée par le gestionnaire SQL
spip_mysql_date_proche()
Tester si une date est proche de la valeur d'un champ
    
                    spip_mysql_date_proche(string $champ, int $interval, string $unite) : string
    
        Parameters
- $champ : string
- 
                    Nom du champ a tester 
- $interval : int
- 
                    Valeur de l'intervalle : -1, 4, ... 
- $unite : string
- 
                    Utité utilisée (DAY, MONTH, YEAR, ...) 
Return values
string —Expression SQL
spip_mysql_in()
Retourne une expression IN pour le gestionnaire de base de données
    
                    spip_mysql_in(string $val, string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
        IN (...) est limité à 255 éléments, d'où cette fonction assistante
Parameters
- $val : string
- 
                    Colonne SQL sur laquelle appliquer le test 
- $valeurs : string
- 
                    Liste des valeurs possibles (séparés par des virgules) 
- $not : string = ''
- 
                    - '' sélectionne les éléments correspondant aux valeurs
- 'NOT' inverse en sélectionnant les éléments ne correspondant pas aux valeurs
 
- $serveur : string = ''
- 
                    Nom du connecteur 
- $requeter : bool = true
- 
                    Inutilisé 
Return values
string —Expression de requête SQL
spip_mysql_cite()
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
    
                    spip_mysql_cite(string|number $v, string $type) : string|number
    
        Parameters
- $v : string|number
- 
                    texte ou nombre à échapper 
- $type : string
- 
                    Type de donnée attendue, description SQL de la colonne de destination 
Return values
string|number —texte ou nombre échappé
spip_versions_mysql()
Teste si on a les fonctions MySQLi (pour l'install)
    
                    spip_versions_mysql() : bool
    
    
    
            Return values
bool —True si on a les fonctions, false sinon
test_rappel_nom_base_mysql()
Tester si mysql ne veut pas du nom de la base dans les requêtes
    
                    test_rappel_nom_base_mysql(string $server_db) : string
    
        Parameters
- $server_db : string
Return values
string —- chaîne vide si nom de la base utile
- chaîne : code compilé pour le faire désactiver par SPIP sinon
test_sql_mode_mysql()
Teste si on peut changer les modes de MySQL
    
                    test_sql_mode_mysql(string $server_db) : string
    
        Parameters
- $server_db : string
- 
                    Nom de la connexion 
Tags
Return values
string —- chaîne vide si on ne peut pas appliquer de mode
- chaîne : code compilé pour l'indiquer le résultat du test à SPIP