没有文件时创建新数据库而不是引发错误

时间:2013-01-08 21:37:44

标签: php error-handling sqlite pdo

我是第一次在PHP中使用SQLite和PDO。

我写了简单的连接程序:

try 
{
    $link = new PDO("sqlite:".$file);
    $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} 
catch (PDOException $e) 
{
    echo 'SQLite error: ' . $e->getMessage();
}

我移动了我的数据库文件,以测试错误处理并且......创建了新的数据库。

我不想要新数据库,我想要错误!我该怎么办?

暂时我用if条件写了file_exists(),但也许有更好的方法?

1 个答案:

答案 0 :(得分:3)

不,没有。这种行为是设计的,涵盖了(我猜;)99%的所有用例,因为在常见的设置中,数据库只创建一次,而不仅仅是移动。这说:file_exists()是要走的路:)虽然不错,为什么还要寻找更好的方法呢?