Ошибка PHP SQLite3? - PullRequest
       2

Ошибка PHP SQLite3?

2 голосов
/ 26 июня 2011

Как я могу узнать, есть ли ошибка, если я сделал $db = new SQLite3("somedb.db"); в PHP?Прямо сейчас $db действительно не дает мне никакой ошибки?

Я могу проверить наличие файла, но я не уверен, могут ли быть какие-либо другие ошибки при открытии соединения.

Ответы [ 2 ]

4 голосов
/ 16 октября 2012

Вы должны включить исключения и создать экземпляр в блоке 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() ); }
    }
2 голосов
/ 26 июня 2011

Попробуйте:

echo $db->lastErrorMsg();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...