sqlite_generique.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
- _DIR_DB = _DIR_ETC . 'bases/'
- _SQLITE_CHMOD = _SPIP_CHMOD
- _SQLITE_RE_SHOW_TABLE = '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
Functions
- req_sqlite_dist() : array<string|int, mixed>|bool
- Connecteur à une base SQLite
- spip_sqlite_open() : PDO
- Ouvre une base SQLite avec PDO en spécifiant une classe spécifique pour les résultats
- spip_sqlite_query() : PDOStatement|bool|string|array<string|int, mixed>
- Fonction de requete generale, munie d'une trace a la demande
- spip_sqlite_alter() : bool
- Modifie une structure de table SQLite
- spip_sqlite_create() : array<string|int, mixed>|null|resource|string
- Crée une table SQL
- spip_sqlite_create_base() : bool
- Crée une base de données SQLite
- spip_sqlite_create_view() : bool|string
- Crée une vue SQL nommée `$nom`
- spip_sqlite_create_index() : bool|string
- Fonction de création d'un INDEX
- spip_sqlite_count() : int
- Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
- spip_sqlite_countsel() : int|bool|string
- Retourne le nombre de lignes d'une sélection
- spip_sqlite_delete() : bool|string
- Supprime des enregistrements d'une table
- spip_sqlite_drop_table() : bool|string
- Supprime une table SQL
- spip_sqlite_drop_view() : bool|string
- Supprime une vue SQL
- spip_sqlite_drop_index() : bool
- Fonction de suppression d'un INDEX
- spip_sqlite_error() : string
- Retourne la dernière erreur generée
- _sqlite_last_error_from_link() : mixed
- spip_sqlite_errno() : int|string
- Retourne le numero de la dernière erreur SQL
- spip_sqlite_explain() : array<string|int, mixed>|string|bool
- Retourne une explication de requête (Explain) SQLite
- spip_sqlite_fetch() : array<string|int, mixed>|null|false
- Rècupère une ligne de résultat
- spip_sqlite_seek() : bool
- Place le pointeur de résultat sur la position indiquée
- spip_sqlite_free() : bool
- Libère une ressource de résultat
- spip_sqlite_get_charset() : mixed
- Teste si le charset indiqué est disponible sur le serveur SQL (aucune action ici)
- spip_sqlite_hex() : string
- Prépare une chaîne hexadécimale
- spip_sqlite_in() : string
- Retourne une expression IN pour le gestionnaire de base de données
- spip_sqlite_insert() : bool|string|int|array<string|int, mixed>
- Insère une ligne dans une table
- spip_sqlite_insertq() : bool|string|int|array<string|int, mixed>
- Insère une ligne dans une table, en protégeant chaque valeur
- spip_sqlite_insertq_multi() : bool|string
- Insère plusieurs lignes d'un coup dans une table
- spip_sqlite_preferer_transaction() : bool
- Retourne si le moteur SQL préfère utiliser des transactions.
- spip_sqlite_demarrer_transaction() : bool|string
- Démarre une transaction
- spip_sqlite_terminer_transaction() : bool|string
- Clôture une transaction
- spip_sqlite_listdbs() : array<string|int, mixed>
- Liste les bases de données disponibles
- spip_sqlite_multi() : string
- Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
- spip_sqlite_optimize() : bool|string
- Optimise une table SQL
- spip_sqlite_quote() : string|number
- Échapper une valeur selon son type mais pour SQLite avec ses spécificités
- spip_sqlite_date_proche() : string
- Tester si une date est proche de la valeur d'un champ
- spip_sqlite_repair() : array<string|int, string>
- Répare une table SQL
- spip_sqlite_replace() : bool|string
- Insère où met à jour une entrée d’une table SQL
- spip_sqlite_replace_multi() : bool|string
- Insère où met à jour des entrées d’une table SQL
- spip_sqlite_select() : array<string|int, mixed>|bool|resource|string
- Exécute une requête de sélection avec SQLite
- spip_sqlite_selectdb() : bool|string
- Sélectionne un fichier de base de données
- spip_sqlite_set_charset() : mixed
- Définit un charset pour la connexion avec SQLite (aucune action ici)
- spip_sqlite_showbase() : PDOStatement|bool|string|array<string|int, mixed>
- Retourne une ressource de la liste des tables de la base de données
- spip_sqlite_table_exists() : bool|string
- Indique si une table existe dans la base de données
- spip_sqlite_showtable() : array<string|int, mixed>|string
- Obtient la description d'une table ou vue SQLite
- spip_sqlite_update() : array<string|int, mixed>|bool|string
- Met à jour des enregistrements d'une table SQL
- spip_sqlite_updateq() : array<string|int, mixed>|bool|string
- Met à jour des enregistrements d'une table SQL et protège chaque valeur
- _sqlite_init() : mixed
- Initialise la première connexion à un serveur SQLite
- _sqlite_is_version() : bool|int
- Teste la version sqlite du link en cours
- _sqlite_link() : PDO|null
- Retrouver un link d'une connexion SQLite
- _sqlite_calculer_cite() : string|number
- Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
- _sqlite_calculer_expression() : string
- Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
- _sqlite_calculer_order() : string
- Prépare une clause order by
- _sqlite_calculer_select_as() : string
- Renvoie des `nom AS alias`
- _sqlite_calculer_where() : string
- Prépare une clause WHERE pour SQLite
- _sqlite_charger_version() : array<string|int, mixed>|bool
- Charger les modules SQLite
- _sqlite_modifier_table() : bool
- Gestion des requêtes ALTER non reconnues de SQLite
- _sqlite_ref_fonctions() : array<string|int, mixed>
- Nom des fonctions
- _sqlite_remplacements_definitions_table() : mixed
- Adapte les déclarations des champs pour SQLite
- _sqlite_collate_ci() : string
- Definir la collation d'un champ en fonction de si une collation est deja explicite et du par defaut que l'on veut NOCASE
- _sqlite_requete_create() : bool|string
- Creer la requete pour la creation d'une table retourne la requete pour utilisation par sql_create() et sql_alter()
- _sqlite_ajouter_champs_timestamp() : mixed
- Retrouver les champs 'timestamp' pour les ajouter aux 'insert' ou 'replace' afin de simuler le fonctionnement de mysql
- spip_versions_sqlite() : array<string|int, mixed>|bool
- Renvoyer la liste des versions sqlite disponibles sur le serveur
Constants
_DIR_DB
public
mixed
_DIR_DB
= _DIR_ETC . 'bases/'
_SQLITE_CHMOD
public
mixed
_SQLITE_CHMOD
= _SPIP_CHMOD
_SQLITE_RE_SHOW_TABLE
public
mixed
_SQLITE_RE_SHOW_TABLE
= '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
Functions
req_sqlite_dist()
Connecteur à une base SQLite
req_sqlite_dist(string $addr, int $port, string $login, string $pass[, string $db = '' ][, string $prefixe = '' ][, string $sqlite_version = '' ]) : array<string|int, mixed>|bool
Parameters
- $addr : string
- $port : int
- $login : string
- $pass : string
- $db : string = ''
- $prefixe : string = ''
- $sqlite_version : string = ''
Return values
array<string|int, mixed>|boolspip_sqlite_open()
Ouvre une base SQLite avec PDO en spécifiant une classe spécifique pour les résultats
spip_sqlite_open(string $file) : PDO
Parameters
- $file : string
Tags
Return values
PDOspip_sqlite_query()
Fonction de requete generale, munie d'une trace a la demande
spip_sqlite_query(string $query[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
Parameters
- $query : string
-
Requete a executer
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Effectuer la requete ?
- true pour executer
- false pour retourner le texte de la requete
Return values
PDOStatement|bool|string|array<string|int, mixed> —Resultat de la requete
spip_sqlite_alter()
Modifie une structure de table SQLite
spip_sqlite_alter(string $query[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $query : string
-
Requête SQL (sans 'ALTER ')
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
bool —False si erreur dans l'exécution, true sinon
spip_sqlite_create()
Crée une table SQL
spip_sqlite_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
-
Exécuter la requête, sinon la retourner
Tags
Return values
array<string|int, mixed>|null|resource|string —- string texte de la requête si demandée
- true si la requête réussie, false sinon.
spip_sqlite_create_base()
Crée une base de données SQLite
spip_sqlite_create_base(string $nom[, string $serveur = '' ][, string $option = true ]) : bool
Parameters
- $nom : string
-
Nom de la base (sans l'extension de fichier)
- $serveur : string = ''
-
Nom de la connexion
- $option : string = true
-
Options
Return values
bool —true si la base est créee.
spip_sqlite_create_view()
Crée une vue SQL nommée `$nom`
spip_sqlite_create_view(string $nom, string $query_select[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : string
-
Nom de la vue a 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_sqlite_create_index()
Fonction de création d'un INDEX
spip_sqlite_create_index(string $nom, string $table, string|array<string|int, mixed> $champs[, string|bool $unique = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : string
-
Nom de l'index
- $table : string
-
Table SQL de l'index
- $champs : string|array<string|int, mixed>
-
Liste de champs sur lesquels s'applique l'index
- $unique : string|bool = ''
-
Créer un index UNIQUE ?
- $serveur : string = ''
-
Nom de la connexion sql utilisee
- $requeter : bool = true
-
true pour executer la requête ou false pour retourner le texte de la requête
Return values
bool|string —string : requête, false si erreur, true sinon.
spip_sqlite_count()
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
spip_sqlite_count(PDOStatement $r[, string $serveur = '' ][, bool $requeter = true ]) : int
En PDO/sqlite3, il faut calculer le count par une requete count(*) pour les resultats de SELECT.
Parameters
- $r : PDOStatement
-
Jeu de résultats
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
int —Nombre de lignes
spip_sqlite_countsel()
Retourne le nombre de lignes d'une sélection
spip_sqlite_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|bool|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|bool|string —- string texte de la requête si demandé
- int Nombre de lignes
- false si la requête a échouée
spip_sqlite_delete()
Supprime des enregistrements d'une table
spip_sqlite_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_sqlite_drop_table()
Supprime une table SQL
spip_sqlite_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_sqlite_drop_view()
Supprime une vue SQL
spip_sqlite_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_sqlite_drop_index()
Fonction de suppression d'un INDEX
spip_sqlite_drop_index(string $nom, string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $nom : string
-
: nom de l'index
- $table : string
-
: table sql de l'index
- $serveur : string = ''
-
: nom de la connexion sql utilisee
- $requeter : bool = true
-
: true pour executer la requête ou false pour retourner le texte de la requête
Return values
bool —ou requete
spip_sqlite_error()
Retourne la dernière erreur generée
spip_sqlite_error([string $query = '' ][, string $serveur = '' ]) : string
Parameters
- $query : string = ''
-
Requête qui était exécutée
- $serveur : string = ''
-
Nom de la connexion
Tags
Return values
string —Erreur eventuelle
_sqlite_last_error_from_link()
_sqlite_last_error_from_link(mixed $link) : mixed
Parameters
- $link : mixed
spip_sqlite_errno()
Retourne le numero de la dernière erreur SQL
spip_sqlite_errno([string $serveur = '' ]) : int|string
Le numéro (en sqlite3/pdo) est un retour ODBC tel que (très souvent) HY000 http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html
Parameters
- $serveur : string = ''
-
nom de la connexion
Return values
int|string —0 pas d'erreur 1 ou autre erreur (en sqlite 2) 'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3)
spip_sqlite_explain()
Retourne une explication de requête (Explain) SQLite
spip_sqlite_explain(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string|bool
Parameters
- $query : string
-
texte de la requête
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|string|bool —- array : Tableau de l'explication
- string si on retourne le texte de la requête
- false si on a pas pu avoir d'explication
spip_sqlite_fetch()
Rècupère une ligne de résultat
spip_sqlite_fetch(PDOStatement $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 : PDOStatement
-
Jeu de résultats (issu de sql_select)
- $t : string = ''
-
Structure de résultat attendu (défaut 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_sqlite_seek()
Place le pointeur de résultat sur la position indiquée
spip_sqlite_seek(PDOStatement $r, int $row_number[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $r : PDOStatement
-
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_sqlite_free()
Libère une ressource de résultat
spip_sqlite_free(PDOStatement &$r[, string $serveur = '' ][, bool $requeter = true ]) : bool
Indique à SQLite de libérer de sa mémoire la ressoucre de résultat indiquée car on n'a plus besoin de l'utiliser.
Parameters
- $r : PDOStatement
-
Jeu de résultats
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
bool —True si réussi
spip_sqlite_get_charset()
Teste si le charset indiqué est disponible sur le serveur SQL (aucune action ici)
spip_sqlite_get_charset([array<string|int, mixed>|string $charset = [] ][, string $serveur = '' ][, bool $requeter = true ]) : mixed
Cette fonction n'a aucune action actuellement
Parameters
- $charset : array<string|int, mixed>|string = []
-
Nom du charset à tester.
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
spip_sqlite_hex()
Prépare une chaîne hexadécimale
spip_sqlite_hex(string $v) : string
Par exemple : FF ==> 255 en SQLite
Parameters
- $v : string
-
Chaine hexadecimale
Return values
string —Valeur hexadécimale pour SQLite
spip_sqlite_in()
Retourne une expression IN pour le gestionnaire de base de données
spip_sqlite_in(string $val, string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
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_sqlite_insert()
Insère une ligne dans une table
spip_sqlite_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_sqlite_insertq()
Insère une ligne dans une table, en protégeant chaque valeur
spip_sqlite_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_sqlite_insertq_multi()
Insère plusieurs lignes d'un coup dans une table
spip_sqlite_insertq_multi(string $table[, array<string|int, mixed> $tab_couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : 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
bool|string —- true en cas de succès,
- texte de la requête si demandé,
- false en cas d'erreur.
spip_sqlite_preferer_transaction()
Retourne si le moteur SQL préfère utiliser des transactions.
spip_sqlite_preferer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
bool —Toujours true.
spip_sqlite_demarrer_transaction()
Démarre une transaction
spip_sqlite_demarrer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string
Pratique pour des sql_updateq() dans un foreach, parfois 100* plus rapide s'ils sont nombreux en sqlite !
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
true pour exécuter la requête ou false pour retourner le texte de la requête
Return values
bool|string —string si texte de la requête demandé, true sinon
spip_sqlite_terminer_transaction()
Clôture une transaction
spip_sqlite_terminer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
true pour exécuter la requête ou false pour retourner le texte de la requête
Return values
bool|string —string si texte de la requête demandé, true sinon
spip_sqlite_listdbs()
Liste les bases de données disponibles
spip_sqlite_listdbs([string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
array<string|int, mixed> —Liste des noms de bases
spip_sqlite_multi()
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
spip_sqlite_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_sqlite_optimize()
Optimise une table SQL
spip_sqlite_optimize(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
nom de la table a optimiser
- $serveur : string = ''
-
nom de la connexion
- $requeter : bool = true
-
effectuer la requete ? sinon retourner son code
Tags
Return values
bool|string —true / false / requete
spip_sqlite_quote()
Échapper une valeur selon son type mais pour SQLite avec ses spécificités
spip_sqlite_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_sqlite_date_proche()
Tester si une date est proche de la valeur d'un champ
spip_sqlite_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_sqlite_repair()
Répare une table SQL
spip_sqlite_repair(string $table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, string>
Il n'y a pas de fonction native repair dans sqlite, mais on profite pour vérifier que tous les champs (text|char) ont bien une clause DEFAULT
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
array<string|int, string> —Tableau avec clé 0 pouvant avoir " OK " ou " ERROR " indiquant l'état de la table après la réparation
spip_sqlite_replace()
Insère où met à jour une entrée d’une table SQL
spip_sqlite_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érer à cette fonction 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_sqlite_replace_multi()
Insère où met à jour des entrées d’une table SQL
spip_sqlite_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_sqlite_select()
Exécute une requête de sélection avec SQLite
spip_sqlite_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_sqlite_selectdb()
Sélectionne un fichier de base de données
spip_sqlite_selectdb(string $db[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $db : string
-
Nom de la base à utiliser
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
bool|string —- Nom de la base en cas de success.
- False en cas d'erreur.
spip_sqlite_set_charset()
Définit un charset pour la connexion avec SQLite (aucune action ici)
spip_sqlite_set_charset(string $charset[, string $serveur = '' ][, bool $requeter = true ]) : mixed
Cette fonction n'a aucune action actuellement.
Parameters
- $charset : string
-
Charset à appliquer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
spip_sqlite_showbase()
Retourne une ressource de la liste des tables de la base de données
spip_sqlite_showbase(string $match[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
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
PDOStatement|bool|string|array<string|int, mixed> —Ressource à utiliser avec sql_fetch()
spip_sqlite_table_exists()
Indique si une table existe dans la base de données
spip_sqlite_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_sqlite_showtable()
Obtient la description d'une table ou vue SQLite
spip_sqlite_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_sqlite_update()
Met à jour des enregistrements d'une table SQL
spip_sqlite_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_sqlite_updateq()
Met à jour des enregistrements d'une table SQL et protège chaque valeur
spip_sqlite_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
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
_sqlite_init()
Initialise la première connexion à un serveur SQLite
_sqlite_init() : mixed
_sqlite_is_version()
Teste la version sqlite du link en cours
_sqlite_is_version([string $version = '' ][, string $link = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|int
Parameters
- $version : string = ''
- $link : string = ''
- $serveur : string = ''
- $requeter : bool = true
Tags
Return values
bool|int_sqlite_link()
Retrouver un link d'une connexion SQLite
_sqlite_link([string $serveur = '' ]) : PDO|null
Parameters
- $serveur : string = ''
-
Nom du serveur
Return values
PDO|null —Information de connexion pour SQLite
_sqlite_calculer_cite()
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
_sqlite_calculer_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é
_sqlite_calculer_expression()
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
_sqlite_calculer_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.
_sqlite_calculer_order()
Prépare une clause order by
_sqlite_calculer_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é
_sqlite_calculer_select_as()
Renvoie des `nom AS alias`
_sqlite_calculer_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
_sqlite_calculer_where()
Prépare une clause WHERE pour SQLite
_sqlite_calculer_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
_sqlite_charger_version()
Charger les modules SQLite
_sqlite_charger_version([string $version = '' ]) : array<string|int, mixed>|bool
Si possible et juste la version demandée, ou, si aucune version, on renvoie les versions sqlite disponibles sur ce serveur dans un tableau
Parameters
- $version : string = ''
Return values
array<string|int, mixed>|bool_sqlite_modifier_table()
Gestion des requêtes ALTER non reconnues de SQLite
_sqlite_modifier_table(string|array<string|int, mixed> $table, string|array<string|int, mixed> $colonne[, array<string|int, mixed> $opt = [] ][, string $serveur = '' ]) : bool
Requêtes non reconnues :
ALTER TABLE table DROP column
ALTER TABLE table CHANGE [COLUMN] columnA columnB definition
ALTER TABLE table MODIFY column definition
ALTER TABLE table ADD|DROP PRIMARY KEY
MODIFY
est transformé en CHANGE columnA columnA
par spip_sqlite_alter()
- Créer une table B avec le nouveau format souhaité
- Copier la table d'origine A vers B
- Supprimer la table A
- Renommer la table B en A
- Remettre les index (qui sont supprimés avec la table A)
Parameters
- $table : string|array<string|int, mixed>
-
- string : Nom de la table table,
- array : couple (nom de la table => nom futur)
- $colonne : string|array<string|int, mixed>
-
- string : nom de la colonne,
- array : couple (nom de la colonne => nom futur)
- $opt : array<string|int, mixed> = []
-
options comme les tables SPIP, qui sera mergé à la table créee :
array('field'=>array('nom'=>'syntaxe', ...), 'key'=>array('KEY nom'=>'colonne', ...))
- $serveur : string = ''
-
Nom de la connexion SQL en cours
Return values
bool —true si OK, false sinon.
_sqlite_ref_fonctions()
Nom des fonctions
_sqlite_ref_fonctions() : array<string|int, mixed>
Return values
array<string|int, mixed>_sqlite_remplacements_definitions_table()
Adapte les déclarations des champs pour SQLite
_sqlite_remplacements_definitions_table(string|array<string|int, mixed> $query[, bool $autoinc = false ]) : mixed
Parameters
- $query : string|array<string|int, mixed>
-
Déclaration d’un champ ou liste de déclarations de champs
- $autoinc : bool = false
_sqlite_collate_ci()
Definir la collation d'un champ en fonction de si une collation est deja explicite et du par defaut que l'on veut NOCASE
_sqlite_collate_ci(string $champ) : string
Parameters
- $champ : string
Return values
string_sqlite_requete_create()
Creer la requete pour la creation d'une table retourne la requete pour utilisation par sql_create() et sql_alter()
_sqlite_requete_create(mixed $nom, mixed $champs, mixed $cles[, bool $autoinc = false ][, bool $temporary = false ][, bool $_ifnotexists = true ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : mixed
- $champs : mixed
- $cles : mixed
- $autoinc : bool = false
- $temporary : bool = false
- $_ifnotexists : bool = true
- $serveur : string = ''
- $requeter : bool = true
Return values
bool|string_sqlite_ajouter_champs_timestamp()
Retrouver les champs 'timestamp' pour les ajouter aux 'insert' ou 'replace' afin de simuler le fonctionnement de mysql
_sqlite_ajouter_champs_timestamp(mixed $table, mixed $couples[, string $desc = '' ][, string $serveur = '' ]) : mixed
stocke le resultat pour ne pas faire de requetes showtable intempestives
Parameters
- $table : mixed
- $couples : mixed
- $desc : string = ''
- $serveur : string = ''
spip_versions_sqlite()
Renvoyer la liste des versions sqlite disponibles sur le serveur
spip_versions_sqlite() : array<string|int, mixed>|bool