вторник, 22 ноября 2011 г.

SQLite3 и PHP 5.2

SQLite3 и PHP 5.2

Раздел: Программирование | Метки:

В своей предыдущей статье я писал, что разбираюсь с SQLite. Главная проблема в этой базе, на мой взгляд, в какой то корявой совместимости версий.
У SQLite сейчас две основные версии вторая и третья.

Вторая версия SQLite полноценно поддерживается любой версией PHP 5.x , в то время как SQLite3 полностью поддерживается только с PHP 5.3. В свою очередь SQLite 2 накладывает ряд ограничений на синтаксис SQL ( о них я писал в предыдущей статье в разделе недостатки SQLite ) , некоторые оказались для меня принципиальными. Кроме того, плагин для FireFox по администрированию SQLite ( который мне очень понравился ) тоже работает только с трешкой. Поэтому выбор пал на SQLite3 . Но на все шареды с которыми я работаю установлен PHP 5.2 поэтому пришлось работать через PDO.

Ниже всего несколько строк кода, первая строка работает в PHP 5.3 , вторая в PHP 5.2. Чтобы работать с PDO в PHP 5.2 должны быть подключены расширения:

В Денвере:

extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll

В FreeBSD:

extension=php_pdo_sqlite.so
extension=php_sqlite.so
extension=php_sqlite3.so

PHP 5.3

db_link = new SQLite3( $db_filename )

PHP 5.2

db_link = new PDO('sqlite:'. $db_filename)

Одинаково в PHP 5.3 и 5.2

$db_res = db_link->query( $q )
$db_res = db_link->exec( $q )

PHP 5.3

$db_res->fetchArray(SQLITE3_ASSOC)

PHP 5.2 с PDO

$row = $db_res->fetchAll()

На вскидку ничего сложно. Но так как нигде этого я сходу не нашел. Надеюсь будет полезно.

Ссылка на статью | Комментарии (0) | 10 октября 2011


Комментариев нет:

Отправить комментарий