Documentation du code de SPIP et de ses plugins

SPIP

sqlite_generique.php

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()  : void
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()  : void
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()  : void
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

_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>|bool

spip_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
see
PDOStatement
Return values
PDO

spip_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
note

Le nom des caches doit être inferieur à 64 caractères

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
uses
sql_error_backtrace()
Return values
string

Erreur eventuelle

_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 ]) : void

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
note

Sqlite optimise TOUT un fichier sinon rien. On évite donc 2 traitements sur la même base dans un hit.

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
see
sql_select()
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 ]) : void

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) 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_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_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
used-by
_sqlite_add_function()
Return values
bool|int

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
note

Pas besoin de conversion pour 0+x comme il faudrait pour mysql.

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()

  1. Créer une table B avec le nouveau format souhaité
  2. Copier la table d'origine A vers B
  3. Supprimer la table A
  4. Renommer la table B en A
  5. 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( $nom,  $champs,  $cles[, bool $autoinc = false ][, bool $temporary = false ][, bool $_ifnotexists = true ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$nom :
$champs :
$cles :
$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( $table,  $couples[, string $desc = '' ][, string $serveur = '' ]) : mixed

stocke le resultat pour ne pas faire de requetes showtable intempestives

Parameters
$table :
$couples :
$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
Return values
array<string|int, mixed>|bool

        
On this page

Search results