The PDO equivalent of this function would be PDO::setAttribute(PDO::ATTR_TIMEOUT);
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_busy_timeout -- SQLiteDatabase::busyTimeout — Устанавливает или полностью отключает время ожидания
$dbhandle
, int $milliseconds
) : voidОбъектно-ориентированный стиль (метод):
$milliseconds
) : void
Устанавливает максимальное время, в миллисекундах, в течение
которого SQLite ожидает готовности базы данных, заданной аргументом
dbhandle
.
dbhandle
Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.
milliseconds
Количество миллисекунд. Если равен 0
, то
функции-обработчики, вызываемые при блокировке
базы данных, будут отключены и SQLITE немедленно вернет
статус-код SQLITE_BUSY
, если другой
процесс/нить заблокировал базу данных для обновления.
По умолчанию, при открытии базы данных, PHP устанавливает время ожидания в 60 секунд.
Замечание:
В одной секунде содержится одна тысяча (1000) миллисекунд.
Эта функция не возвращает значения после выполнения.
Пример #1 Процедурный стиль
<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // установка таймаута в 10 секунд
sqlite_busy_timeout($dbhandle, 0); // отключение функции-обработчика
?>
Пример #2 Объектно-ориентированный стиль
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // 10 секунд
$dbhandle->busyTimeout(0); // отключение
?>
The PDO equivalent of this function would be PDO::setAttribute(PDO::ATTR_TIMEOUT);