SQLite і PHP. Альтернатива MySQL
SQLite - це база даний заснована на файлах і використовує синтаксис SQL. По продуктивності часом обганяє MySQL, а часом і поступається (залежить від налаштувань сервера).
Однією з примітних особливостей є те, що база даних при використанні SQLite перебувати на одному сервері з PHP. Недолік це чи перевага сказати складно, потрібно дивитися по ситуації)
Взагалі SQLite рідкість для наших хостерів і її підтримку треба ще пошукати.
Що б ви не думало, що SQLite таке "г" нагадаю, що додатки таких контор як Mozilla, Adobe, Symbian використовую для зберігання своїх даних саме цю БД.
З безкоштовних хостингів SQLite підтримує ByetHost . Або можна гратися на локалці, встановивши Denwer (як зробив я).
Власне синтаксис запитів у SQLite і MySQL однаковий. Як ніяк SQL він і в Африці SQL%)
Почнемо працювати!
-
Створення бази даних
Для того щоб створити нову базу даних необхідно скористатися функцією sqlite_open ()resource sqlite_open (string filename)
Де filename- ім'я Файда БД
Приклад
//Створимо базу даних $ Db = sqlite_open ("database.db"); if (! $ db) die ("Не вдалося створити базу даних!"); ?>
Як результат отримаємо файл database.dbу папці зі скриптом
-
Створення, читання, оновлення та видалення таблиць
Всі запити до бази даних виконує функція sqlite_query ()resource sqlite_query (resource dbhandle, string query)
dbhandle- це Бд, а query- собсно сам запит
А тепер великий приклад в якому реалізована вся робота з базою даних. Зауважимо, що для виведення даних з таблиць використовується все та ж функція - sqlite_query (). Якщо вибирається кілька записів, результат вибірки слід обробити за допомогою циклу while () і функції sqlite_fetch_array ()
Приклад
//Створимо нову базу даних $ Db = sqlite_open ("database.db"); if (! $ db) exit ("Неможливо створити базу даних!"); / * Соданіе таблиці ---------------------------------------------- ---- * / //Створимо таблицю "table1" в базі $ Query_table = sqlite_query ($ db, "CREATE TABLE table1 (Id INTEGER PRIMARY KEY, / * Id автоматично стане автоінкрементні * / field1 TEXT); "); if (! $ query_table) exit ("Неможливо створити таблицю в базі даних!"); / * Введення даних ---------------------------------------------- --------- * / //Запишемо що-небудь у таблицю $ Quer_ins = sqlite_query ($ db, "INSERT INTO table1 (field1) VALUES ('A');"); $ Quer_ins = sqlite_query ($ db, "INSERT INTO table1 (field1) VALUES ('B');"); $ Quer_ins = sqlite_query ($ db, "INSERT INTO table1 (field1) VALUES ('C');"); if (! $ query_ins) exit ("Неможливо записати дані в таблицю!"); / * Зміна даних ---------------------------------------------- --- * / //Змінимо поле з id = 1 sqlite_query ($ db, "UPDATE table1 SET field1 = 'G' WHERE id = 1;"); / * Видалення даних ---------------------------------------------- ---- * / //Видалимо поле з id = 2 sqlite_query ($ db, "DELETE FROM table1 WHERE id = 2;"); / * Вивід даних ---------------------------------------------- ------- * / //Зробимо вибірку даних $ Res = sqlite_query ($ db, "SELECT * FROM table1;"); //У циклі виведемо всі отримані дані while ($ array = sqlite_fetch_array ($ res)) { echo ($ array ['field1']. "(id запису:". $ array ['id'].")"); } ?>
Я думаю, що код читабельний і добре задокументований, так, що питань бути не повинно. Хоча якщо знайдуться не соромтеся і задавайте;)
-
Закриття бази даних
Попрацювали і вистачить) Для закриття використовується функція sqlite_close ()void sqlite_close (resource dbhandle)
dbhandle- ім'я БД
Приклад:
$ Db = sqlite_open ("database.db"); / * ... Тут відбувається робота з БД ... * / sqlite_close ($ db); ?>
Закривати базу даних цю функцію - необов'язково. Всі відкриті бази даних автоматично закриються при завершенні роботи скрипта
Ну от мабуть і все) Тепер можна сміливо створювати якесь додаток використовує SQLite%)
Опубліковано: 25/02/11 @ 01:32
Розділ php
Рекомендуємо:
Боротьба зі спамом. Використання PHP і reCAPTCHA
Створюємо сервіс коротких посилань
Блогу 2! + Session_end!
Це провал! Не чекали? А я повернувся
Способи підвищення юзабіліті форм.