2011-06-25 62 views
2

如何知道如果我在PHP中使用$db = new SQLite3("somedb.db");是否有錯誤?現在$db並不真的給我任何錯誤?PHP SQLite3錯誤?

我可以檢查文件存在,但我不確定在打開連接時是否可能有其他錯誤。

回答

2

嘗試:

echo $db->lastErrorMsg(); 
+0

http://php.net/manual/en/sqlite3.lasterrormsg.php –

4

您應該啓用異常並在try-catch塊實例。

從文檔中不明顯,但如果使用構造函數打開數據庫,它將在出錯時引發異常。

此外,如果您在第二個參數中設置標誌SQLITE3_OPEN_READWRITE,那麼當數據庫不存在(而不是創建它)時它也會引發異常。

class Database extends SQLite3 
{ 
    function __construct($dbName) 
    { 
     $this->enableExceptions(true); 

     try 
     { 
      parent::__construct($dbName, SQLITE3_OPEN_READWRITE); 
     } 
     catch(Exception $ex) { die($ex->getMessage()); } 
    }