查詢

SQLite3::busyTimeout()函式—用法及示例

「 設定資料庫連線的繁忙超時時間 」


函式: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() 方法必須在執行任何查詢之前呼叫,以確保在連線被其他程序獨佔時能夠正確等待。

補充糾錯
下一個函式: SQLite3::backup()函式
熱門PHP函式
分享連結