PHPackages                             andrey-tech/sqlitedb-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. andrey-tech/sqlitedb-php

ActiveLibrary[Database &amp; ORM](/categories/database)

andrey-tech/sqlitedb-php
========================

Простая библиотека для работы с СУБД SQLite 3 для несложных проектов на PHP7+

3.0.1(3y ago)016MITPHPPHP ^7.2|^8.0

Since Feb 19Pushed 3y ago1 watchersCompare

[ Source](https://github.com/andrey-tech/sqlitedb-php)[ Packagist](https://packagist.org/packages/andrey-tech/sqlitedb-php)[ Docs](https://github.com/andrey-tech/sqlitedb-php)[ RSS](/packages/andrey-tech-sqlitedb-php/feed)WikiDiscussions master Synced today

READMEChangelog (2)DependenciesVersions (3)Used By (0)

SQLiteDB PHP
============

[](#sqlitedb-php)

[![SQLiteDB logo](./assets/sqlite-logo.png)](./assets/sqlite-logo.png)

[![Latest Stable Version](https://camo.githubusercontent.com/4b281a6678b1758fdc6b5555ab2bad29180a4afcf1a7b702aedbaed426316bb8/68747470733a2f2f706f7365722e707567782e6f72672f616e647265792d746563682f73716c69746564622d7068702f76)](//packagist.org/packages/andrey-tech/sqlitedb-php)[![PHP Version Require](https://camo.githubusercontent.com/62d5f60c5a108d2db17b501517d9c4585275d1635f61ca47f58e0153780ab13e/687474703a2f2f706f7365722e707567782e6f72672f616e647265792d746563682f73716c69746564622d7068702f726571756972652f706870)](//packagist.org/packages/andrey-tech/sqlitedb-php)[![License](https://camo.githubusercontent.com/b6aa06be064b40b58ea63efe7b79e6ced412c96d04250d49efc85e3e2ffbaf04/68747470733a2f2f706f7365722e707567782e6f72672f616e647265792d746563682f73716c69746564622d7068702f6c6963656e7365)](//packagist.org/packages/andrey-tech/sqlitedb-php)

Простая библиотека для работы с СУБД SQLite 3 для несложных проектов на PHP7+.

Содержание
----------

[](#содержание)

- [Установка](#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Класс `SQLiteDB`](#%D0%9A%D0%BB%D0%B0%D1%81%D1%81-sqlitedb)
- [Примеры](#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)
- [Автор](#%D0%90%D0%B2%D1%82%D0%BE%D1%80)
- [Лицензия](#%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F)

Установка
---------

[](#установка)

```
$ composer require andrey-tech/sqlitedb-php:"^3.0"

```

Класс `SQLiteDB`
----------------

[](#класс-sqlitedb)

Финальный класс `\AndreyTech\SQLiteDB\SQLiteDB` предназначен для работы с СУБД SQLite 3. При возникновении ошибок в классах пространства имен `\AndreyTech\SQLiteDB` выбрасывается исключение класса `\AndreyTech\SQLiteDB\SQLiteDBException`.

Класс `\AndreyTech\SQLiteDB\SQLiteDB` содержит следующие публичные методы:

- `__construct(array $config = [], array $options = []): SQLiteDB` Конструктор класса.
    - `$config` - конфигурация соединения с СУБД;
    - `$options` - опции подключения для драйвера PDO.
- `connect(): void` Выполняет подключение к серверу СУБД. В обычных условиях не требуется, так как подключение к серверу СУБД выполняется автоматически при первом запросе.
- `disconnect(): void` Выполняет отключение от сервера СУБД. В обычных условиях не требуется, так как отключение от сервера СУБД выполняется автоматически при уничтожении объекта класса.
- `getDSN(): string` Возвращает строку [DSN](https://en.wikipedia.org/wiki/Data_source_name) подключения к серверу СУБД.
- `getConfig(): array` Возвращает конфигурацию соединения с СУБД.
- `getOptions(): array` Возвращает опции подключения для драйвера PDO.
- `getPDO(): ?PDO` Возвращает объект класса `\PDO`, если соединение с СУБД установлено.
- `isConnected(): bool` Возвращает флаг соединения с СУБД: `true` - соединение установлено, `false` - не установлено.
- `getDebugMode(): bool` Возвращает флаг состояния отладочного режима.
- `setDebugMode(bool $debugMode): void` Включает или отключает отладочный режим работы с выводом информации в `STDOUT`.
- `doStatement(string $statement, array $values = [], array $prepareOptions = []): \PDOStatement`
    Подготавливает запрос, кэширует подготовленный запрос и запускает подготовленный запрос на выполнение.
    Возвращает объект класса `\PDOStatement`.
    - `$statement` - SQL оператор;
    - `$values` - массив значений для SQL оператора;
    - `$prepareOptions` - опции драйвера СУБД для подготовки запроса.
- `beginTransaction(): void` Инициализирует транзакцию.
- `commitTransaction(): void` Фиксирует транзакцию.
- `rollbackTransaction(): void` Откатывает транзакцию.
- `fetchAll(\PDOStatement $stmt): \Generator` Выбирает все записи с помощью генератора.
    - `$stmt` - объект класса `\PDOStatement`.
- `getLastInsertId(string $idName = null): string` Возвращает значение `id` последней вставленной записи.
    - `$idName` - имя столбца `id`.
- `createInStatement(array $in = []): string` Создает и возвращает строку для выражения `IN (?, ?, ?,...)`.
    - `$in` - массив значений внутри выражения `IN (?, ?, ?,...)`.

Существуют следующие параметры конфигурации и опции подключения с установленными значениями по умолчанию:

```
$config = [
    'database' => './db.sqlite', // Имя файла СУБД SQLite
    'username' => null, // Имя пользователя
    'password' => null, // Пароль пользователя
];

$options = [
     PDO::ATTR_TIMEOUT            => 60,
     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
```

Примеры
-------

[](#примеры)

```
use AndreyTech\SQLiteDB\SQLiteDB;
use AndreyTech\SQLiteDB\SQLiteDBException;

try {

    // Устанавливаем имя файла СУБД SQLiteDB
    $config = [
        'database' => 'my_database.sqlite',
    ];

    $db = new SQLiteDB($config);

    // Включаем отладочный режим с выводом информации в STDOUT
    $db->setDebugMode(true);

    // Отправляем запрос без параметров
    $stmt = $db->doStatement('
        SELECT COUNT(*) AS count
        FROM contacts
    ');

    // Выбираем все записи
    print_r($stmt->fetchAll());

    // Отправляем с использованием именованных параметров
    $stmt = $db->doStatement('
        SELECT *
        FROM contacts
        WHERE status = :status
        LIMIT 10
    ', [ 'status' => 1 ]);

    // Выбираем все записи
    print_r($stmt->fetchAll());

    // Отправляем запрос с использованием НЕ именованных параметров
    $stmt = $db->doStatement('
        SELECT *
        FROM contacts
        WHERE status = ?
    ', [ 1 ]);

    // Выбираем все записи с помощью генератора
    $generator = $db->fetchAll($stmt);
    foreach ($generator as $row) {
        print_r($row);
    }

} catch (SQLiteDBException $exception) {
    printf('SQLiteDB exception (%u): %s', $exception->getCode(), $exception->getMessage());
}
```

Пример вывода отладочной информации в STDOUT:

```
***** CONNECT "sqlite:my_database.sqlite"
***** [1]  SELECT COUNT(*) AS count FROM contacts
***** [2]  SELECT * FROM contacts WHERE status = 1 LIMIT 10
***** [3]  SELECT * FROM contacts WHERE status = 1
***** DISCONNECT "sqlite:my_database.sqlite"

```

Автор
-----

[](#автор)

© 2019-2023 andrey-tech

Лицензия
--------

[](#лицензия)

Данная библиотека распространяется на условиях лицензии [MIT](./LICENSE).

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1230d ago

PHP version history (2 changes)3.0.0PHP ^7.2

3.0.1PHP ^7.2|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/51994444?v=4)[Andrey](/maintainers/andrey-tech)[@andrey-tech](https://github.com/andrey-tech)

---

Top Contributors

[![andrey-tech](https://avatars.githubusercontent.com/u/51994444?v=4)](https://github.com/andrey-tech "andrey-tech (3 commits)")

---

Tags

phpdatabasesqlitepdo

### Embed Badge

![Health badge](/badges/andrey-tech-sqlitedb-php/health.svg)

```
[![Health](https://phpackages.com/badges/andrey-tech-sqlitedb-php/health.svg)](https://phpackages.com/packages/andrey-tech-sqlitedb-php)
```

###  Alternatives

[delight-im/db

Safe and convenient SQL database access in a driver-agnostic way

50174.0k7](/packages/delight-im-db)[popphp/pop-db

Pop Db Component for Pop PHP Framework

1816.5k12](/packages/popphp-pop-db)[ntanduy/cloudflare-d1-database

Cloudflare D1 database driver for Laravel — full Eloquent &amp; Query Builder support.

267.8k](/packages/ntanduy-cloudflare-d1-database)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
