函式:SQLite3::busyTimeout()
適用版本:PHP 5 >= 5.3.3, PHP 7, PHP 8
用法:SQLite3::busyTimeout(int $milliseconds) : bool
說明:SQLite3::busyTimeout() 方法用於設定資料庫連線的繁忙超時時間。當多個連線嘗試以獨佔模式開啟同一個資料庫時,如果資料庫正在被其他連線獨佔使用,那麼當前連線會等待一段時間以獲取訪問許可權。該方法可以設定等待的時間長度,當超過指定的時間後,連線將放棄等待並返回錯誤。
引數:
- $milliseconds:等待的時間長度,以毫秒為單位。如果設定為0,則表示不等待,立即返回錯誤。如果設定為負數,則表示無限等待。
返回值:
- 成功時返回 true,失敗時返回 false。
示例:
<?php
// 建立 SQLite 資料庫連線
$db = new SQLite3('example.db');
// 設定繁忙超時時間為 2000 毫秒(即 2 秒)
$db->busyTimeout(2000);
// 執行查詢語句
$result = $db->query('SELECT * FROM users');
// 處理查詢結果
while ($row = $result->fetchArray()) {
// 輸出每一行資料
var_dump($row);
}
// 關閉資料庫連線
$db->close();
?>
在上面的示例中,我們首先建立了一個 SQLite 資料庫連線,並使用 busyTimeout()
方法設定繁忙超時時間為 2000 毫秒(即 2 秒)。然後,我們執行了一條查詢語句,並透過迴圈遍歷結果集輸出每一行資料。最後,我們關閉了資料庫連線。
請注意,busyTimeout()
方法必須在執行任何查詢之前呼叫,以確保在連線被其他程序獨佔時能夠正確等待。