La classe Pdo\Sqlite

(PHP 8 >= 8.4.0)

Introduction

Une sous-classe de PDO représentant une connexion utilisant le pilote SQLite PDO.

Ce pilote supporte un analyseur de requêtes SQL dédié pour le dialecte SQLite. Il peut gérer les éléments suivants :

  • Les littéraux de chaînes entre guillemets simples, doubles et backticks, avec le doublement comme mécanisme d'échappement.

  • Les citations entre crochets pour les identifiants.

  • Deux tirets et les commentaires de style C (non imbriqués).

Synopsis de la classe

class Pdo\Sqlite extends PDO {
/* Constantes héritées */
public const int PDO::PARAM_NULL;
public const int PDO::PARAM_BOOL = 5;
public const int PDO::PARAM_INT = 1;
public const int PDO::PARAM_STR = 2;
public const int PDO::PARAM_LOB = 3;
public const int PDO::PARAM_STMT = 4;
public const int PDO::PARAM_STR_NATL;
public const int PDO::PARAM_STR_CHAR;
public const int PDO::PARAM_EVT_FREE;
public const int PDO::FETCH_DEFAULT;
public const int PDO::FETCH_LAZY;
public const int PDO::FETCH_ASSOC;
public const int PDO::FETCH_NUM;
public const int PDO::FETCH_BOTH;
public const int PDO::FETCH_OBJ;
public const int PDO::FETCH_BOUND;
public const int PDO::FETCH_COLUMN;
public const int PDO::FETCH_CLASS;
public const int PDO::FETCH_INTO;
public const int PDO::FETCH_FUNC;
public const int PDO::FETCH_GROUP;
public const int PDO::FETCH_UNIQUE;
public const int PDO::FETCH_KEY_PAIR;
public const int PDO::FETCH_NAMED;
public const int PDO::ATTR_PREFETCH;
public const int PDO::ATTR_TIMEOUT;
public const int PDO::ATTR_ERRMODE;
public const int PDO::ATTR_CASE;
public const int PDO::ATTR_CURSOR;
public const int PDO::ERRMODE_SILENT;
public const int PDO::CASE_NATURAL;
public const int PDO::CASE_LOWER;
public const int PDO::CASE_UPPER;
public const int PDO::NULL_NATURAL;
public const int PDO::NULL_TO_STRING;
public const string PDO::ERR_NONE;
public const int PDO::FETCH_ORI_NEXT;
public const int PDO::FETCH_ORI_LAST;
public const int PDO::FETCH_ORI_ABS;
public const int PDO::FETCH_ORI_REL;
public const int PDO::CURSOR_FWDONLY;
public const int PDO::CURSOR_SCROLL;
/* Constantes */
public const int DETERMINISTIC;
public const int OPEN_READONLY;
public const int OPEN_READWRITE;
public const int OPEN_CREATE;
public const int ATTR_OPEN_FLAGS;
public const int ATTR_BUSY_STATEMENT;
public const int OK;
public const int DENY;
public const int IGNORE;
/* Méthodes */
public function createAggregate(
    string $name,
    callable $step,
    callable $finalize,
    int $numArgs = -1
): bool
public function createCollation(string $name, callable $callback): bool
public function createFunction(
    string $function_name,
    callable $callback,
    int $num_args = -1,
    int $flags = 0
): bool
public function loadExtension(string $name): void
public function openBlob(
    string $table,
    string $column,
    int $rowid,
    ?string $dbname = "main",
    int $flags = Pdo\Sqlite::OPEN_READONLY
): resource|false
public function setAuthorizer(?callable $callback): void
/* Méthodes héritées */
public function PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
)
public function PDO::beginTransaction(): bool
public function PDO::commit(): bool
public static function PDO::connect(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
): static
public function PDO::errorCode(): ?string
public function PDO::errorInfo(): array
public function PDO::exec(string $statement): int|false
public function PDO::getAttribute(int $attribute): mixed
public static function PDO::getAvailableDrivers(): array
public function PDO::inTransaction(): bool
public function PDO::lastInsertId(?string $name = null): string|false
public function PDO::prepare(string $query, array $options = []): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = null): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_COLUMN, int $colno): PDOStatement|false
public function PDO::query(
    string $query,
    ?int $fetchMode = PDO::FETCH_CLASS,
    string $classname,
    array $constructorArgs
): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_INTO, object $object): PDOStatement|false
public function PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false
public function PDO::rollBack(): bool
public function PDO::setAttribute(int $attribute, mixed $value): bool
}

Constantes pré-définies

Pdo\Sqlite::DETERMINISTIC

Pdo\Sqlite::OPEN_READONLY

Pdo\Sqlite::OPEN_READWRITE

Pdo\Sqlite::OPEN_CREATE

Pdo\Sqlite::ATTR_OPEN_FLAGS

Pdo\Sqlite::ATTR_READONLY_STATEMENT

Pdo\Sqlite::ATTR_EXTENDED_RESULT_CODES

Pdo\Sqlite::ATTR_BUSY_STATEMENT

Un attribut de requête préparée en lecture seule, récupéré avec PDOStatement::getAttribute(), qui vaut true si la requête préparée a été exécutée et possède encore une ligne en attente, et false sinon. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT

Un attribut de requête préparée contrôlant le mode d'explication, défini avec PDOStatement::setAttribute(). Les valeurs possibles sont Pdo\Sqlite::EXPLAIN_MODE_PREPARED, Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN et Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN. Une ValueError est lancée si PHP a été compilé avec une libsqlite antérieure à 3.43.0. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::EXPLAIN_MODE_PREPARED

Valeur pour Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT : retourne la requête telle qu'elle a été préparée (aucune explication). Disponible à partir de PHP 8.5.0, lorsque PHP est compilé avec une libsqlite >= 3.43.0.

Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN

Valeur pour Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT : retourne les opcodes de la machine virtuelle utilisée pour exécuter la requête (équivalent à l'instruction EXPLAIN de SQLite). Disponible à partir de PHP 8.5.0, lorsque PHP est compilé avec une libsqlite >= 3.43.0.

Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN

Valeur pour Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT : retourne le plan d'exécution de la requête (équivalent à l'instruction EXPLAIN QUERY PLAN de SQLite). Disponible à partir de PHP 8.5.0, lorsque PHP est compilé avec une libsqlite >= 3.43.0.

Pdo\Sqlite::ATTR_TRANSACTION_MODE

Un attribut de connexion configurant le mode de transaction utilisé par PDO::beginTransaction(). Les valeurs possibles sont Pdo\Sqlite::TRANSACTION_MODE_DEFERRED, Pdo\Sqlite::TRANSACTION_MODE_IMMEDIATE et Pdo\Sqlite::TRANSACTION_MODE_EXCLUSIVE. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::TRANSACTION_MODE_DEFERRED

Valeur pour Pdo\Sqlite::ATTR_TRANSACTION_MODE : utilise le mode de transaction DEFERRED de SQLite (le mode par défaut). Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::TRANSACTION_MODE_IMMEDIATE

Valeur pour Pdo\Sqlite::ATTR_TRANSACTION_MODE : utilise le mode de transaction IMMEDIATE de SQLite. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::TRANSACTION_MODE_EXCLUSIVE

Valeur pour Pdo\Sqlite::ATTR_TRANSACTION_MODE : utilise le mode de transaction EXCLUSIVE de SQLite. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::OK

Valeur de retour d'une fonction de rappel d'autorisation définie avec Pdo\Sqlite::setAuthorizer(), autorisant l'action. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::DENY

Valeur de retour d'une fonction de rappel d'autorisation définie avec Pdo\Sqlite::setAuthorizer(), refusant l'action. Disponible à partir de PHP 8.5.0.

Pdo\Sqlite::IGNORE

Valeur de retour d'une fonction de rappel d'autorisation définie avec Pdo\Sqlite::setAuthorizer(), substituant une valeur null à la colonne qui aurait été lue. Disponible à partir de PHP 8.5.0.

Sommaire

add a note

User Contributed Notes

There are no user contributed notes for this page.