тут мне понадобилась маленькая встроенная БД, в скрипте на php (локальном), ну я выбрал сабж. (уже жалею, это-то при рабочем MySQL!). В связи с чем вопросы:
1) почему-то там только sqlite2, в смысле в php. А в самой слаке почему-то sqlite3. Какая разница? Я пока скачал и собрал sqlite2, и использую двойку. Но непонятно. Как в php юзать тройку? В гугле полно каких-то классов, но мне это не нужно, я сам напишу. Скажите как включать...
2) почему то медленно. Вы не поверите, но sed скрипт работает примерно так-же, а как я уже писал, на sed плохо делать БД. mysql применять не хочется, ибо надо (будет, возможно) подымать к ней сервер, да и вообще - нужна маленькая (1000..10000строк) табличка на три поля, три текстовых (1..100букв), и INT(11). Всего-то...
3) примерно на 1000й вставленной строчке sqlite рухнула в сегфолт. Руки? С php+mysql такого никогда не видел...
LinuxForum.Fans
Sqlite
Автор: drBatty
6 сообщений
1931 просмотров
http://php.net/manual/en/book.sqlite3.php
The SQLite3 extension is enabled by default as of PHP 5.3.0.
zvezdochots, и тем не менее, у меня 5.3.6, но базы создаются/обрабатываются только второй версией. ЧЯДНТ?
и тем не менее, у меня 5.3.6, но базы создаются/обрабатываются только второй версией. ЧЯДНТ?
может он[php] банально собран без sqlite3? вам патрик собирал или вы сами?
вам патрик собирал или вы сами?
Патрег.
наверное просто руки кривые, надо было писать sqlite3, а не просто sqlite. Я посмотрел, там и sqlite2 и sqlite3 сразу.
PS: решено наверное...
Функции для работы с 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');
?>У меня это работает.
Войдите или зарегистрируйтесь, чтобы ответить.