Pdo\Sqlite クラス

(PHP 8 >= 8.4.0)

はじめに

SQLite PDO ドライバによる接続を示す PDO サブクラスです。

このドライバは SQLite 方言向けに専用の SQL クエリパーサーをサポートしています。 次のものを処理可能です:

  • シングルクオート、ダブルクオート、バッククオートで囲まれたリテラルでのクオートの二重化によるエスケープ

  • 識別子の角括弧によるクオート

  • 2 つのハイフンによるコメント、ネストされていない C 言語形式のコメント

クラス概要

class Pdo\Sqlite extends PDO {
/* 継承した定数 */
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;
/* 定数 */
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;
/* メソッド */
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
/* 継承したメソッド */
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
}

定義済み定数

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

PDOStatement::getAttribute() で取得する読み取り専用のステートメント属性です。 ステートメントが実行済みで、保留中の行がまだ残っている場合は true、 そうでない場合は false になります。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT

PDOStatement::setAttribute() で設定する、explain モードを制御するステートメント属性です。 指定できる値は Pdo\Sqlite::EXPLAIN_MODE_PREPARED、 Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN、 Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN です。 PHP が libsqlite 3.43.0 より古いバージョンを使ってビルドされている場合は、 ValueError がスローされます。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::EXPLAIN_MODE_PREPARED

Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT に指定する値です。 prepare した通りのステートメントの結果を返します (EXPLAIN は行いません)。 PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に 利用できます。

Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN

Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT に指定する値です。 ステートメントの実行に使われる仮想マシンのオペコードを返します (SQLite の EXPLAIN と同等です)。 PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に 利用できます。

Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN

Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT に指定する値です。 クエリプランを返します (SQLite の EXPLAIN QUERY PLAN と同等です)。 PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に 利用できます。

Pdo\Sqlite::ATTR_TRANSACTION_MODE

PDO::beginTransaction() が使うトランザクションモードを設定する接続属性です。 指定できる値は Pdo\Sqlite::TRANSACTION_MODE_DEFERRED、 Pdo\Sqlite::TRANSACTION_MODE_IMMEDIATE、 Pdo\Sqlite::TRANSACTION_MODE_EXCLUSIVE です。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::TRANSACTION_MODE_DEFERRED

Pdo\Sqlite::ATTR_TRANSACTION_MODE に指定する値です。 SQLite の DEFERRED トランザクションモードを使います (デフォルト)。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::TRANSACTION_MODE_IMMEDIATE

Pdo\Sqlite::ATTR_TRANSACTION_MODE に指定する値です。 SQLite の IMMEDIATE トランザクションモードを使います。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::TRANSACTION_MODE_EXCLUSIVE

Pdo\Sqlite::ATTR_TRANSACTION_MODE に指定する値です。 SQLite の EXCLUSIVE トランザクションモードを使います。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::OK

Pdo\Sqlite::setAuthorizer() で設定した authorizer コールバックの戻り値で、 そのアクションを許可します。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::DENY

Pdo\Sqlite::setAuthorizer() で設定した authorizer コールバックの戻り値で、 そのアクションを拒否します。 PHP 8.5.0 以降で利用可能です。

Pdo\Sqlite::IGNORE

Pdo\Sqlite::setAuthorizer() で設定した authorizer コールバックの戻り値で、 読み取られるはずだったカラムを null 値に置き換えます。 PHP 8.5.0 以降で利用可能です。

目次

+add a note

User Contributed Notes

There are no user contributed notes for this page.