LinuxForum.Fans
Тема

Sqlite

Автор: drBatty 6 сообщений 1931 просмотров
#182803

тут мне понадобилась маленькая встроенная БД, в скрипте на php (локальном), ну я выбрал сабж. (уже жалею, это-то при рабочем MySQL!). В связи с чем вопросы:

1) почему-то там только sqlite2, в смысле в php. А в самой слаке почему-то sqlite3. Какая разница? Я пока скачал и собрал sqlite2, и использую двойку. Но непонятно. Как в php юзать тройку? В гугле полно каких-то классов, но мне это не нужно, я сам напишу. Скажите как включать...

2) почему то медленно. Вы не поверите, но sed скрипт работает примерно так-же, а как я уже писал, на sed плохо делать БД. mysql применять не хочется, ибо надо (будет, возможно) подымать к ней сервер, да и вообще - нужна маленькая (1000..10000строк) табличка на три поля, три текстовых (1..100букв), и INT(11). Всего-то...

3) примерно на 1000й вставленной строчке sqlite рухнула в сегфолт. Руки? С php+mysql такого никогда не видел...

#186226

zvezdochots, и тем не менее, у меня 5.3.6, но базы создаются/обрабатываются только второй версией. ЧЯДНТ?

#186229
drBatty написал:
и тем не менее, у меня 5.3.6, но базы создаются/обрабатываются только второй версией. ЧЯДНТ?

может он[php] банально собран без sqlite3? вам патрик собирал или вы сами?

#186245
Fat-Zer написал:
вам патрик собирал или вы сами?

Патрег.
наверное просто руки кривые, надо было писать sqlite3, а не просто sqlite. Я посмотрел, там и sqlite2 и sqlite3 сразу.

PS: решено наверное...

#258245

Функции для работы с sqlite3 в PHP 5.3 запиханы в класс. Этот класс должен быть сам по себе.
Смотри на php.ru есть справка по sqlite3.

text
<?php
$db = new SQLite3('sqlite3.db');
$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('Hello world!')");
echo $db->querySingle('SELECT bar FROM foo');
?>

У меня это работает.

Войдите или зарегистрируйтесь, чтобы ответить.