如果我在PHP中$db = new SQLite3("somedb.db");
,我怎么知道是否有错误?现在$db
并没有真正给我任何错误?
我可以检查文件是否存在,但我不确定在打开连接时是否可能有任何其他错误。
答案 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();