PHP 7.2.25 Released

SQLite3::exec

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::execВыполняет запрос без результата к текущей базе данных

Описание

public SQLite3::exec ( string $query ) : bool

Выполняет запрос без результата к текущей базе данных.

Замечание: SQLite3 возможно потребуется создать » временные файлы во время выполнения запросов, так что соответствующие директории должны быть доступны для записи.

Список параметров

query

Выполняемый запрос SQL (обычно запрос INSERT, UPDATE или DELETE).

Возвращаемые значения

Возвращает TRUE, если запрос выполнен успешно, FALSE в случае ошибки.

Примеры

Пример #1 Пример использования SQLite3::exec()

<?php
$db 
= new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar STRING)');
?>

add a note add a note

User Contributed Notes 1 note

up
13
alexandre dot schmidt at gmail dot com
3 years ago
I was getting "database locked" all the time until I found out some features of sqlite3 must be set by using SQL special instructions (i.e. using PRAGMA keyword). For instance, what apparently solved my problem with "database locked" was to set journal_mode to 'wal' (it is defaulting to 'delete', as stated here: https://www.sqlite.org/wal.html (see Activating  And Configuring WAL Mode)).

So basically what I had to do was creating a connection to the database and setting journal_mode with the SQL statement. Example:

<?php
$db
= new SQLite3('/my/sqlite/file.sqlite3');
$db->busyTimeout(5000);
// WAL mode has better control over concurrency.
// Source: https://www.sqlite.org/wal.html
$db->exec('PRAGMA journal_mode = wal;');
?>

Hope that helps.
To Top