Правильное использование SQLite3 в PHP - PullRequest
1 голос
/ 31 марта 2010

В чем разница между:

$db = new SQLiteDatabase('name.db');

и

$db = new PDO('sqlite:name.db');

Поскольку я не понимаю общей картины здесь, детали для меня преждевременны, и информация, доступная в Интернете, предполагает наличие определенных знаний, которые мне, по-видимому, отсутствуют. Пожалуйста, не просто вставляйте ссылки на руководство по PHP. Менее конкретные, более общие понятия будут полезны для меня.

Кроме того, оба эти подхода используют SQLite 3, в отличие от SQLite 2?

1 Ответ

2 голосов
/ 31 марта 2010

Непосредственно с использованием функций / классов SQLite ваш PHP-код будет совместим только с SQLIte.

При использовании PDO ваш код PHP будет совместим со многими системами баз данных - список существующих драйверов см. В Драйверы PDO .
Цитирование Страница введения в PDO :

PDO обеспечивает абстракцию доступа к данным слой, что означает, что независимо от какую базу данных вы используете, вы используете те же функции для выдачи запросов и получить данные.


Этот уровень абстракции может быть полезен, если вы хотите, чтобы ваш код был совместим с более чем одним механизмом БД; но обратите внимание, что:

  • Используя PDO, вы не всегда можете использовать функции, специфичные для системы баз данных
  • Использование PDO означает, что ваш код PHP будет совместимым; это не значит, что ваш SQL будет тоже: это все еще ваша работа.


По вопросу о SQLite и SQLite3:

  • Кажется, что PDO поддерживает оба - см. Функции SQLite (PDO_SQLITE)
    • Чтобы использовать один или другой, вам просто нужно использовать другой DSN .
    • Примечание: работа с несколькими различными системами БД - это то, для чего отлично подходит PDO; -)
  • Использование определенных расширений БД:
    • Существует одно расширение для SQLite2: SQLite
    • И еще одно расширение для SQLite3: SQLite3
      • Обратите внимание, что этот, похоже, включен только в PHP> = 5.3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...