PHP SQLite3错误?

时间:2011-06-25 21:52:41

标签: php sqlite

如果我在PHP中$db = new SQLite3("somedb.db");,我怎么知道是否有错误?现在$db并没有真正给我任何错误?

我可以检查文件是否存在,但我不确定在打开连接时是否可能有任何其他错误。

2 个答案:

答案 0 :(得分: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() ); }
    }

答案 1 :(得分:2)

尝试:

echo $db->lastErrorMsg();