PHP и DB API. В этой статье я опишу работу аналога sql на файлах. Краткое содержание: Что это? Установка Как работает? Примеры использования Авторы Заключение Часть 1. Что это? DB Api - Аналог Sql. Этот скрипт работает на текстовых файлах. Офф сайт: http://www.c-worker.ch/txtdbapi/index.php Часть 2. Установка Для начала скачаем архив отсюда: http://downloads.sourceforge.net/flatfiledb/php-txt-db-api-0.3.1-Beta-01.zip?modtime=1106682716&big_mirror=0 (Архив не распаковываем.) Далее скачаем установщик: http://downloads.sourceforge.net/flatfiledb/installer.php?modtime=1106682738&big_mirror=0 И скопируем всё в одну папку. Я создал папку api у себя на localhost и скопировал туда эти два файла. Заходим туда куда копировали через браузер(У меня http://localhost/api/install.php). Выбираем язык(в нашем случаи это English т.к. Русского там нет). Появляется текст, жмём Next. Дальше указываем пути к папкам для установки(лучше не менять). После этого жмём Next. Подтверждаем свой выбор и жмём Next. Дальше выбираем что нужно установить. 1- это примеры. 2- это управление бд(Похоже на PhpMyAdmin).3- доки. Я оставил всё. Жмём Next. Вводим данные для доступа в панель управления(логин и пароль) и жмём next. Теперь будет сама установка. Жмём Install и ждём пока распакуется архив. Всё! Установка законченна! На этой страницы указанны пути к папкам. Часть 3. Как это работаеть? После установки у нас появились 2 папки. Это databases и txt-db-api. В первой папке хранятся базы данных . Структура папки: -databases |-somebase |-table1 |-table2 |-table3 |-somebase2 |-table4 |-table5 |-table6 А сама таблица состоит так: id#name#pass inc#str#str ###### 1#test#123 2#test#321 Строчка 1 - название колонок Строчка 2 - типы колонок(inc,str) Строчка 3 - разделение. Строчка 4 и 5 - записи в бд. Скажу честно, мне так легче редактировать таблици. В txt-db-api хранятся очень важные классы, доки, примеры, webgui(аналог phpmyadmin). Работает DB Api так же как Sql. Например: SELECT * FROM table1 WHERE name=123 ORDER by id Часть 4. Примеры. Для подключения в php нам нужно 2 строчки: PHP: <? include "patch_to_class/txt-db-api.php"; $db = new Database("user");//База данных. до создания базы это не будет работать. ?> Что бы выполнить запрос в бд: PHP: <? $db->executeQuery("..."); ?> Для создания базы можно использовать "CREATE DATABASE cms" а, можно создать папку с названием табдицы в databases. Дальше сделаем таблицу USER содержащую id,user,pass. PHP: <? $db->executeQuery("CREATE TABLE user (id inc, user str, pass str)"); ?> После создания таблицы добавим в нёё пару записей: PHP: <? $db->executeQuery("INSERT INTO user(user,pass) VALUES ('test', '111222')"); $db->executeQuery("INSERT INTO user(user,pass) VALUES ('test2', 'pwd')"); ?> Теперь у нас есть таблица с двумя записями в ней. У меня вышло так: PHP: <? include "txt-db-api.php"; $db = new Database("user"); $db->executeQuery("CREATE TABLE user (id inc, user str, pass str)"); $db->executeQuery("INSERT INTO user(user,pass) VALUES ('test', '111222')"); $db->executeQuery("INSERT INTO user(user,pass) VALUES ('test2', 'pwd')"); ?> Код можно удалить. Что бы сделать запрос из базы нам нужен такой код: PHP: <? include "txt-db-api.php"; $db = new Database("user"); $d=$db->executeQuery("SELECT * FROM user"); for($i=0;$i<count($d);$i++){ $d->next(); $data = $d->getCurrentValuesAsHash(); print_r($data); } ?> Вот я и описал примеры работы в txt db api(кстати это полное название =)). Так же там работает: "LIKE,WHERE,ORDER,UPDATE,DELETE" и т.п. Часть 5 и 6. Авторы и Заключение. Автор этого класса: http://c-worker.ch. Хочу выразить ему благодарность за такую работу. Я не хочу вам это навязывать, я просто хочу сообщить что есть удобный вариант БД. Спасибо за внимание. (C) Hormold.
Inj там неможет быть. При использование ', может появится ошибка foreach. Для улучшения работы можно убирать кавычки через str_replace
PHP и Txt Db Api - это конечно хороший скрипт но невижу плюсов от него так таковых, если таковые имеются прошу добавить. Просто работая с сиквелем значительно лучше так как скорость работы быстрее, если было бы не так то такой скрипт давно был был популярен. На счет статьи: 1) Хорошее оформление, удобно читать. 2) Содержание больше походит на редми к скрипту чем на статью (но может мне просто показалось)