SQLite, czyli lekka recepta na bazę danych

Korzystanie

Skoro już poznaliśmy, czym w ogóle jest SQLite, przydałoby się poznać sposób, jak z niego skorzystać w Naszych projektach. Pokażę to na najprostszym przykładzie, a mianowicie pobraniu z jednej tabeli rekordu o ID równym 1.
W poniższym kodzie obiekt PDO zawsze będzie się krył pod zmienną $db, a obiekt zapytania – $query.

Połączenie

Aby się połączyć z Naszym plikiem, z bazą, wystarczy użyć poniższej linijki:

$db = new PDO('sqlite:app.sqlite');

Gdzie app.sqlite to adres pliku.
Ciekawostka! Można stworzyć wirtualną bazę w pamięci, która zostanie usunięta po zakończeniu skryptu. Wystarczy jako argument podczas tworzenia obiektu PDO podać:

sqlite::memory:

Wykonanie zapytania

To można wykonać na dwa sposoby: standardowo za pomocą metody query, z którym nie powinieneś mieć już problemów i prepare, który nie poddaje się atakowi typu SQL Injection(bez dodatkowej pracy oczywiście). Dla dodania powiem, że klasa MySQLi również obsługuje drugi sposób.

Metoda „query”

Jak już mówiłem, nie różni się to od każdej innej metody query zawartej w klasie do obsługi bazy danych, więc nie będę tutaj nic dodawał, oprócz kodu oczywiście:

$db->query('SELECT * FROM articles WHERE id=1');

Metoda „prepare”

To również nie jest nic skomplikowanego, chociaż potrzeba więcej zapisać. Opiszę ją tutaj, gdyż wiem, że mało kto ją zna. Sama inicjacja jest krótka i przyjemna:

$query = $db->prepare('SELECT * FROM articles WHERE id=:id');

Możemy tutaj zaobserwować ciąg :id, dzięki któremu będziemy mogli w danym miejscu umieścić poszukiwany przez Nas ID. Ciąg taki zawsze rozpoczynamy od dwukropka, a potem wpisujemy wybraną przez siebie nazwę. Wartość podstawiamy za pomocą metody bindParam wg poniższego sposobu:

$id = '1';
$query->bindParam(':id', $id, PDO::PARAM_INT);

Odnajdziemy tutaj coś takiego, jak PDO::PARAM_INT, co jest stałą z klasy PDO. Określa ona typ argumentu, jaki przekazujemy do zapytania, aby zabezpieczyć się przed przypadkiem, kiedy ktoś zamiast np. liczby podstawi Nam ciąg znaków. Resztę takich stałych można znaleźć na liście w Manualu.
Kolejnym krokiem jest wykonanie zapytania:

$query->execute();

A na koniec pobranie jego wyniku. Tutaj ciekawostka – PDO udostępnia Nam metodę fetchAll, która od razu zwraca w jednej tablicy wszystkie rekordy zwrócone przez bazę danych.

$rows = $query->fetchAll();

Dla wizualizacji wyniku możemy sobie wyświetlić Naszą tablicę:

print_r($rows);

Podsumowanie

Jak widać, SQLite jest zwykłą, prostą i lekką bazą danych, której użycie jest szczerze mówiąc praktycznie takie same, jak wszystkich innych, popularnych. Obsługę tego silnika znajdziecie na każdym serwerze, który ma zainstalowany PHP w najnowszej wersji. Pozostaje mi jeszcze raz polecić Ci tę bazę danych, gdyż na prawdę w małych projektach jest niezastąpiona.

Za ten artykuł podziękowano 1 raz(y). Chcesz i Ty ?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">