W kursie nie będzie umieszczona teoria na temat bazy danych, ponieważ definicję tego słowa można znaleźć na niemal każdej tematycznej witrynie internetowej. Przejdźmy od razu do właściwej części kursu, mianowicie do rozdziału o łązceniu się z bazą danych.
I.Łączenie z bazą danych.
W tym rozdziale krótko opiszę jak łączyć się z bazą danych.
Aby działać na bazie danych czyli odczytywać, dodawać i edytować rekordy musisz się połączyć z bazą danych.
Pierwszą ważną rzeczą jest to, że łączenia z bazą danych nie musisz się uczyć na pamięć, ponieważ wystarczy stworzyć funkcję w PHP, a potem ją wywołać.
Właśnie tak wygląda funkcja, która połączy nas z bazą danych. Jeśli nie uda się jej połączyć z serwerem MySQL wyświetli odpowiedni komunikat.
Jednak samo połączenie z bazą danych nas nie uszczęśliwia, należy jeszcze wybrać odpowiednią bazę danych. Tak wygląda funkcja, która pozwoli nam na taki wybór:
Funkcja działa na podobnej zasadzie jak ww. pozwala nam na wybór bazy danych, jeśli nie będzie możliwości takiego wyboru, wyświetli odpowiedni komunikat.
Tyle teorii, czas na praktyczną praktykę.
1.Tworzymy plik funkcje.php, a w nim funkcje np. mysql_polaczenie();
funkcje.php
Teraz należy w pliku index.php umieścić następujący kod:
Teraz już potrafimy połączyć się z bazą danych i wybrać ją po połączeniu. Teraz nauczmy się działać na samej bazie MySQL.
II.Zapytania SQL
2a. SELECT
Polecenia select używamy do wyświetlenia zapisanych rekordów w bazie danych.
Przykładowe polecenie wygląda następująco:
Oznacza to mniej więcej wyszukaj wszystkie pola ( * - ten znak oznacza wszystkie) z tabeli użytkownicy. Takie rozwiązanie jest jednak niezbyt bezpieczne.
Opiszę teraz strukturę polecenia select:
SELECT - opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje.
FROM - nazwy tabel lub widoków.
WHERE - warunek.
GROUP BY - nazwy kolumn.
HAVING - warunek (grupowanie wybranych wierszy).
ORDER BY - nazwy kolumn lub pozycji kolumn.
Uwaga! Każde polecenie select musi posiadać klauzule SELECT oraz FROM reszta jest opcjonalna.
Teraz załóżmy, że stworzyliśmy tabelę 'użytkownicy' podam kilka przykładów:
SELECT * FROM użytkownicy - wyszukuje wszystkie rekordy
SELECT `login`, `punkty` FROM `uzytkownicy` - wyszukuje tylko pola login i punkty
SELECT `login`, `punkty` FROM `uzytkownicy` ORDER BY `login` ASC - to co wyżej tyle że układa nam to w kolejności alfabetycznej.
SELECT `login`, `punkty` FROM `uzytkownicy` WHERE `punkty` = '30' - wyszuka tylko użytkowników którzy mają 30 punktów
Uwaga! Klauzula ORDER BY jest dozwolona 1 i wyłącznie na końcu zapytania.
OPERATORY LOGICZNE W KLAUZULI WHERE
= - równa
<> - nie równa
> - wieksza niż
>= - wieksza lub równa
< - mniejsza niż
<= - mniejsza lub równa
Przykład
To spowoduje wyszukanie wszystkich rekordów większych lub równych 30 pkt.
Przyszedł czas na wykorzystanie zdobytych umiejętności w dokumencie PHP.
Aby wywołać coś do bazy trzeba użyć funkcji
Dzięki temu nastąpi wysłanie zapytania do MySQL.
Powinny nam się teraz wyświetlić wszystkie loginy z punktami większymi lub równymi 30.
Jednak najpierw musicie posiadać tabelę 'uzytkownicy' i pola 'login'.