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
- 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) etkey
(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(Ressource $r[, string $serveur = '' ][, bool $requeter = true ]) : int
Parameters
- $r : Ressource
-
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[, string $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 : string = []
-
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
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 —- 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_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