[ Pobierz całość w formacie PDF ]
//-->Dostęp do baz danych przywykorzystaniu interfejsu PDO1 WprowadzenieW opisie zadań wykorzystano środowisko programistyczneNetBeans(wersja 7.2.1). Celem ćwiczeniajest zapoznanie się z mechanizmem dostępu do bazy danych z poziomu języka PHP z wykorzystanieminterfejsu PDO (PHP Data Object). Interfejs PDO jest obiektowo-zorientowanym interfejsemprogramistycznym dostępu do SQL-owych baz danych z wykorzystaniem języka PHP. Główną ideąoraz zaletą interfejsu jest niezależność od źródła danych oraz zapewnienie współpracy aplikacji zróżnymi bazami danych np.: FreeTDS / Microsoft SQL Server / Sybase, Firebird/Interbase 6, IBM DB2,IBM Informix Dynamic Server, MySQL, Oracle Call Interface, ODBC v3 (IBM DB2, unixODBC and win32ODBC), PostgreSQL, SQLite itd. Poprawna aplikacja składa się z następujących podstawowychkroków:Połączenie ze źródłem danychOkreślenie parametrów połączeniaPrzygotowanie i wykonanie poleceniaPobranie wynikówOdłączenie od źródła danych (opcjonalnie)Interfejs PDO składa się z trzech klas: PDO, PDOStatement oraz PDOException. Klasa PDO jestodpowiedzialna za utrzymanie połączenia z bazą danych. Klasa PDOStatement jest odpowiedzialna zaoperacje wykonywane w języku SQL oraz przetwarzanie ich wyników. Klasę PDOExceptionwykorzystujemy do obsługi błędów.Niniejsze ćwiczenie przybliży pracę z interfejsem PDO z wykorzystaniem powyższych klas.Przedstawione zostaną takie elementy jak nawiązywanie połączenia, wykonywanie zapytań prostych iparametryzowanych, obsługa błędów, obsługa transakcji itp.2 Uruchomienie serwera aplikacjiAby wykorzystywać skrypty PHP, potrzebny jest serwer aplikacji, który będzie je wykonywał. Wnaszym ćwiczeniu wykorzystamy serwer Apache, który wchodzi w skład zintegrowanego narzędziaXAMPP.2.1 Uruchom program XAMPP Control Panel.2.2 Sprawdź czy usługaApachezostała uruchomiona, jeśli nie naciśnij przyciskstart.3 Utworzenie projektu w środowisku NetBeans3.1 Uruchom środowiskoNetBeans.3.2 Utwórz nowy projekt wybierając z górnego menuFile->New Project.3.3 Wybierz kategorięPHPi wskaż jako typ projektuPHP Application.Naciśnij przyciskNext >.3.4 Wprowadź nazwę projektu np.PhpProject1.Pozostałe opcje pozostaw bez zmian. NaciśnijprzyciskNext.3.5 Wybierz opcję Run As: Local Web Site a następnie naciśnij przyciskFinishaby zakończyć działaniekreatora.3.6 Efektem działania kreatora jest utworzenie projektu o wskazanej nazwie. W projekcieautomatycznie zostanie dodany skrypt .php, który stanowi punkt startowy wykonania programu.3.7 Zaczniemy od uruchomienia testowego skryptu. W sekcjiphpdodajemy kod, który będziewykonany przez serwer aplikacji np.: (echo” dowolny tekst ”;).Jednym z najczęściej pojawiających się błędów jest błąd wynikający z braku zainstalowanegosterownika (plik php_pdo_oci.dll). Aby sprawdzić czy dysponujemy odpowiednim sterownikiemdo naszej bazy danych uruchamiamy skrypthttp://localhost/xampp/phpinfo.php.Wynikiemskryptu jest zestawienie informacji na temat aktualnego stanu systemu z uwzględnieniemwłączonych sterowników. W naszym przypadku jest to sterownik oci (oracle call interface), októrym informacje znajdują się w sekcji PDO -> PDO drivers -> oci (enabled).Innym sposobem weryfikacji sterownika jest wykorzystanie funkcji PDO::getAvailableDrivers().<?phpforeach(PDO::getAvailableDrivers() as $driver) {echo "$driver.<br/>";}?>3.8 Po sprawdzeniu zainstalowanego sterownika możemy następnie, uruchomić program testowy,wybierając z górnego menu opcjęRun->Run Projectlub używając skrótu klawiszowegoF6.Przeduruchomieniem nastąpi weryfikacja poprawności składniowej po czym gotowy skrypt .phpzostaje przesłany do przeglądarki, gdzie będzie widoczny efekt działania kodu wygenerowanyprzez serwer aplikacji.4 Nawiązanie połączenia z bazą danych.4.1 Połączenie z bazą danychW pierwszym kroku wykorzystujemy konstruktor klasy PDO do ustanowienia połączenia zeźródłem danych (PDO->_construct()). Parametry przekazywane do konstruktora są następujące:źródło danych DSN (Data Source Name), gdzie podajemy adres hosta, port oraz identyfikator bazydanych, nazwa użytkownika (opcjonalnie), hasło użytkownika (opcjonalnie) oraz tablicaz parametrami (opcjonalnie). Na wyjściu otrzymujemy obiekt klasy PDO reprezentującypołączenie z bazą danych. Aby móc przechwycić ewentualny komunikat o możliwym wyjątkuw połączeniu możemy użyć konstrukcji try-catch. Poniższy przykład pokazuje proste nawiązaniepołączenia z użyciem minimalnego zestawu parametrów.<?phptry{$conn = new PDO("oci:dbname="."admlab2-main.cs.put.poznan.pl:1521/dblab01.cs.put.poznan.pl","scott","tiger");echo "Połączono z bazą danych!";}catch(PDOException $e){echo ($e->getMessage());}?>W sekcji catch korzystamy z klasy PDOException aby przechwycić ewentualny komunikat obłędzie. Szczegółowe informacje na temat obsługi błędów przedstawione zostaną w dalszej częścićwiczenia (patrz rozdział Detekcja błędów).Czwartym możliwym parametrem jest opcjonalna tablica z parametrami, w której można podaćinformacje takie jak tryb obsługi błędu, rodzaj kodowania czy format zwracanego wyniku.Przykładowo ustawienie atrybutuPDO::ATTR_CASEwartościPDO:: ATTR_UPPERspowoduje, żenazwy kolumn w zbiorze wynikowym będą zapisane wielkimi literami....$dsn = "admlab2-main.cs.put.poznan.pl:1521/dblab01.cs.put.poznan.pl";$username = "scott";$passwd = "tiger";$opt = array(PDO::ATTR_CASE=>PDO::CASE_UPPER)
[ Pobierz całość w formacie PDF ]