Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<SQLite3::backupSQLite3::changes>
^SQLite3Last updated: Mon, 26 Oct 2026

SQLite3::busyTimeout

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

SQLite3::busyTimeout — Sets the busy connection handler

Description

public function SQLite3::busyTimeout(int $milliseconds): bool

Sets a busy handler that will sleep until the database is not locked or the timeout is reached.

The busy handler is built into SQLite, so no callback has to be provided. When a statement finds the database locked by another connection, SQLite keeps retrying for up to milliseconds. If the database is still locked after that, the statement fails with a database is locked error (SQLITE_BUSY).

How that failure shows up depends on SQLite3::enableExceptions(). With exceptions enabled, an SQLite3Exception is thrown. Otherwise an E_WARNING is raised and the method that ran the statement, such as SQLite3::exec() or SQLite3::query(), returns false.

By default no busy handler is set, so a statement fails right away if the database is locked.

Parameters

milliseconds

The maximum number of milliseconds to wait for a lock. Setting this value to a value less than or equal to zero, will turn off an already set timeout handler.

Return Values

Returns true if the busy timeout was set, or false on failure. The return value only tells whether the timeout was set. It does not mean that later statements will get the lock in time.


<SQLite3::backupSQLite3::changes>
^SQLite3Last updated: Mon, 26 Oct 2026