SQLite бази от данни. Функции на PHP за операции с SQLite бази от данни
SQLite е библиотека (разширение), която се добави към PHP5 вградена функционалност
за БД. Представлява малка библиотека на C, разработена през 2000г от Richard Hipp.
Създаване на SQLite БД
Създаване на SQLite БД, на практика е създаване на специално форматиран файл. За
създаване на БД се изпълнява функцията за отваряне на БД. Ако БД не съществува,
то тя се създава със sqlite_open.
Синтаксис:
resource
sqlite_open (string filename[ ,int mode[ ,string &error_mess]]);
filename е спецификация на името на базата
mode – указва режима на отваряне, права за достъп (0666 – за четене и запис);
&error_mess - променлива, в която се записва инфото за грешката, ако възникне
такава.
Пример:
$dbhandle = sqlite_open('my_test_db', 0666, $sqliteerror);
if (!$dbhandle) die ($sqliteerror);
Създава се файл за SQLite БД име 'my_test_db' в същата директория, където е php
приложението с права за четене/запис.
SQLite предоставя и ОО Конструктор, ч/з който се създава обект за базата данни
и едновремено с това я и отваря.
$db = new SQLite
&error_mess]]);
$db = new SQLite
Database
( string
filename[
Database
(“mydb”,
0666,
,int
mode[
,string
$err_mess);
Пример 1. Създаване на SQLite БД име 'my_test_db', създаване на таблица
Friends в нея (CREATE TABLE ...).
Ето го целия пример:
//Database Friends created successfully
Забележка: За изпълнение на SQL команди, които не връщат извадка, SQLite предоставя
функция sqlite_exec, която ние мнократно използвахме.
1
Пример 2. Запълване с данни на таблица Friends (INSERT INTO Friends...):
Пример 3: Получаване на извадка от БД: подава се команда SELECT като параметър на
функция sqlite_query() или sqlite_unbuffered_query(). Използва се функция
sqlite_fetch_array - за извличане на данни от прочетен запис в масив (SQLITE_
ASSOC, SQLITE_NUM, SQLITE_BOTH).
resource sqlite_query(db_handle,string query[,result_type][&string error_msg]])
Където:
db_handle - манипулатор на БД, който получаваме от sqlite_open
query – SELECT заявка
int result_type – указва как ще бъде индексиран масивът, който ще получи като резултат от заявката. Има
три Възможни стойности:
SQLITE_NUM – указва че ще се използва целочислени изрази за индекси на извлечените стойности (от 0
нататък).
SQLITE_ASSOC - елементите на масива имат като ключова стойност имената на полетата
SQLITE_BOTH – указва, че за всяко поле ще имаме по 2 елемента – един с ключ и един с целочислен
израз.
error_msg - съобщение за грешка.
";
}
sqlite_close($dbhandle);
?>
2
Jane : F
Thomas : M
Franklin : M
Пример 4: Още един пример: За извличане на данни:
";
sqlite_rewind($result);
$row = sqlite_fetch_array($result, SQLITE_NUM);
print_r($row);
echo "
";
sqlite_rewind($result);
$row = sqlite_fetch_array($result, SQLITE_BOTH);
print_r($row);
echo "
";
sqlite_close($dbhandle);
?>
Резултат:
Array ( [Name] => Jane [Sex] => F )
Array ( [0] => Jane [1] => F )
Array ( [0] => Jane [Name] => Jane [1] => F [Sex] => F )
Пример 5: Извличане на данни в таблица:
";
echo "";
echo " ";
for ($i = 0; $i < $rows; $i++) {
$row = sqlite_fetch_array($result, SQLITE_NUM);
echo "$field1 ";
echo "$field2 ";
echo "