Intereting Posts
Ajax вызов PHP не возвращает ничего ЗАКАЗАТЬ по одному идентификатору, если в одной таблице больше одинаковых идентификаторов Zend Framework 2 – обтекание $ this-> контента другим макетом Делает ли изящный Apache перезапуск очистки APC? Использование строковой переменной $ dsn в качестве параметра в базе данных PDO SQL: выбор количества нескольких таблиц Как отправлять и извлекать данные из веб-службы с помощью PHP и Android WordPress – / wp-admin / перенаправление на /wp-login.php при входе в систему AJAX – содержание страницы печати php datetime-> diff вычисляет неправильное количество часов (3 слишком много) Проверка / уведомление PHP-скрипта Как избежать написания уведомлений и предупреждений php в файлах журналов? Google OAuth2 – isAccessTokenExpired () всегда верно Ссылка php на файл изображения за пределами веб-каталога по умолчанию Предупреждение: mysqli_query () ожидает, что параметр 1 будет mysqli boolean

Открытие SQLite3 как READONLY с PDO?

Класс SQLite3 имеет такой вариант.

$db = new SQLite3('mysqlitedb.db', SQLITE3_OPEN_READONLY); 

В PDO вы просто откроете:

 $db = new PDO('sqlite:mysqlitedb.db'); 

Мой вопрос, однако, есть способ открыть базу данных с PDO, в режиме READONLY?

    Я не думаю, что это возможно с pdo (еще?).
    Драйвер pdo_sqlite для php 5.3 использует sqlite3_open () в pdo_sqlite_handle_factory() но вам нужно sqlite3_open_v2 () передать флаг только для чтения.

    редактировать:
    Но патч будет довольно простым. Взгляните на pdo_mysql_handle_factory() в ext / pdo_mysql / mysql_driver.c и как он использует struct pdo_data_src_parser vars[] для синтаксического анализа строки dns.

    Это станет возможным благодаря выпуску PHP 7.3 (рассчитанный для выпуска в конце 2018 года).

    Синтаксис синтаксиса следующий:

     $db = new PDO('sqlite:mysqlitedb.db', null, null, [PDO::SQLITE_ATTR_OPEN_FLAGS => PDO::SQLITE_OPEN_READONLY]); 

    Поток вверх