(PHP 5 >= 5.3.0)

SQLite3::execExecutes a result-less query against a given database


public bool SQLite3::exec ( string $query )

Executes a result-less query against a given database.

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


The SQL query to execute (typically an INSERT, UPDATE, or DELETE query).

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

Returns TRUE if the query succeeded, FALSE on failure.


Пример #1 SQLite3::exec() example

= new SQLite3('mysqlitedb.db');

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


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:

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

Hope that helps.
2016-02-13 19:38:10

    Поддержать сайт на родительском проекте КГБ