Wprowadzenie do ADODB
Biblioteka ADODB jest warstwą abstrakcyjną pośredniczącą w komunikacji z bazą danych. Dzięki niej aplikacja może być przenoszona między wieloma różnymi systemami baz danych. ADODB obsługuje MySQL, PostgreSQL, Oracle, Interbase, Microsoft SQL Server, Access, FoxPro, Sybase, ODBC i ADO. Ułatwione jest też wysyłanie i odbieranie danych z bazy z poziomu skryptu PHP.
Tworzenie obiektu i nawiązywanie połączenia
Połączenie z bazą za pomocą biblioteki ADODB wygląda następująco:
include("adodb5/adodb.inc.php"); $db = NewADOConnection('mysql'); $db->Connect("127.0.0.1", "root", "haslo", "mojabaza"); |
W pierwszej linijce wÅ‚Ä…czamy do skryptu bibliotekÄ™ ADODB. Åšcieżka do pliku adodb.inc.php może być nieco inna – ważne, by wskazywaÅ‚a na wspomniany wczeÅ›niej plik. W drugiej linijce tworzymy obiekt komunikacji z bazÄ… danych. Funkcja NewADOConnection() w argumencie przyjmuje symbol bazy danych. Ostatnia linijka Å‚Ä…czy obiekt $db z rzeczywistÄ… bazÄ… danych. Metoda Connect pobiera kolejno argumenty: adres bazy danych, nazwa użytkownik, hasÅ‚o i nazwa bazy danych.
Pobieranie i aktualizacja danych – metoda Execute()
$rs = $db->Execute('SELECT * FROM uzytkownik'); $rs = $db->Execute("UPDATE uzytkownik SET imie=$imie WHERE id=45;"); |
W metodzie Execute możemy umieścić dowolne zapytanie SQL. Jeżeli będzie to zapytanie pobierające dane, dane będą dostępne w zmiennej $rs
Pobieranie danych i wyÅ›wietlanie danych z bazy – metody: GetRow(), GetAll(), GetOne()
Istnieje znacznie wygodniejszy sposób pobierania danych z bazy niż metoda Execute(). Są to metody: GetRow(), GetAll() i GetOne(). W tych metodach umieszczamy tylko zapytania SELECT.
$rs = $db->GetAll('SELECT * FROM user WHERE id<40'); $rs = $db->GetRow('SELECT * FROM user WHERE id=1'); $rs = $db->GetOne('SELECT login FROM user WHERE id=1'); |
Metoda GetAll() zwraca wiele rekordów – wszystkie będące wynikiem zapytania. Wynik zapisywany jest w tablicy dwuwymiarowej $rs. Elementami tablicy głównej są tablice z polami jednego rekordu pobranego z bazy danych.
Metoda GetRow() zwraca jeden rekord w postaci tablicy jednowymiarowej. Jeżeli zapytanie zwróci więcej danych, zapisany zostanie jedynie pierwszy rekord.
Metoda GetOne() zwraca pojedynczą wartość. Jeżeli zapytanie zwróci więcej danych, zwrócona zostanie jedynie wartość pierwszej kolumny z pierwszego rekordu wyniku zapytania.
Biblioteka ADODB jest dużym ułatwieniem dla każdego programisty. 3 z 6 stron tworzonych na szkoleniu Zawodowy Webmaster wykorzystują ją do wszelkich operacji na bazie danych. Oprócz opisanych powyżej możliwości na szkoleniu wykorzystywane są również złączenia, podzapytania i funkcje agregujące.
Tagi: ADODB, bazy danych, Execute(), GetAll(), GetOne(), GetRow(), PHP, SQL