2011-06-25 10 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フラグを2番目の引数に設定すると、データベースが存在しない場合(作成するのではなく)、例外がスローされます。

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

     try 
     { 
      parent::__construct($dbName, SQLITE3_OPEN_READWRITE); 
     } 
     catch(Exception $ex) { die($ex->getMessage()); } 
    } 
関連する問題