PHP SQLite3 错误?

Pwn*_*nna 5 php sqlite

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

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

Gav*_*vin 6

您应该启用异常并在 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() ); }
    }
Run Code Online (Sandbox Code Playgroud)


rku*_*lla 4

尝试:

echo $db->lastErrorMsg();
Run Code Online (Sandbox Code Playgroud)