Как подключить базу данных sqlite с помощью PHP? - PullRequest
5 голосов
/ 01 апреля 2011

Я много пробовал подключать базу данных с помощью PHP PDO.у меня есть много образцов, я не уверен, в чем была проблема.

ниже мой код

<?php
    try
    {
        // $db = new PDO('sqlite:sampleDB.db3');
        // $db = new SQLiteDatabase('sampleDB.sqlite', 0666, $error);  
        $db = new PDO('sqlite:sampleDB.sqlite');
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
    }
?>

я пробовал много способов открыть соединение.пожалуйста, скажите мне правильный путь ...

Ответы [ 3 ]

5 голосов
/ 01 апреля 2011

Я отказался от драйвера PDO и вместо этого использовал модуль sqlite3.

С модулем sqlite3:

class DB extends SQLite3
{
        function __construct( $file )
        {
            $this->open( $file );
        }
}

$db = new DB( 'sampleDB.sqlite' );

Я знаю, что это не решение вашей проблемы, но если ничего не работает, это может быть полезно.

1 голос
/ 01 апреля 2011

Каталог, в котором находится файл sql, должен быть доступен для записи на сервере. Попробуйте создать отдельный каталог только для SQLite и предоставить ему соответствующий доступ. В Unix вы можете сделать это, запустив chmod 777 dirname. Также измените ваш DSN на 'sqlite:dirname/sampleDB.sqlite'.

1 голос
/ 01 апреля 2011

Во-первых, вам нужно убедиться, что PHP настроен для подключения к SQLite - используйте phpinfo(), чтобы проверить и убедиться, что у вас включена поддержка SQLite.

Далее выхотите использовать правильный синтаксис при попытке подключения и запроса к базе данных SQLite.Согласно Руководство по PHP для sqllite Например,

<?php

    if ($db = sqlite_open('sampleDB', 0666, $sqliteerror) ) { 
        $result = sqlite_query($db, 'select bar from foo');
        var_dump(sqlite_fetch_array($result) ); 
    } else {
        die($sqliteerror);
    }

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...