Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00625 009807 10450935 na godz. na dobę w sumie
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych - książka
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych - książka
Autor: Liczba stron: 368
Wydawca: Helion Język publikacji: polski
ISBN: 83-246-1513-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> php - programowanie
Porównaj ceny (książka, ebook, audiobook).

Poznaj i wykorzystaj narzędzia do projektowania baz danych

Umiejętność tworzenia interaktywnych stron www typu e-commerce i zarządzania nimi jest dzisiaj właściwie niezbędna. Przydaje się nie tylko administratorom sieci, ale także wszystkim informatykom i właścicielom firm. Relacyjne bazy danych stanowią podstawę nowoczesnej aplikacji internetowej, więc przede wszystkim należy poznać najpopularniejsze języki wykorzystywane podczas pracy na tych bazach: język skryptowy PHP oraz język zapytań SQL, a także internetowe usługi informacyjne (IIS) występujące w najnowszych serwerowych systemach operacyjnych Microsoft Windows.

Książka 'PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych' w przystępny sposób i na konkretnym przykładzie przedstawia zagadnienia dotyczące projektowania, programowania i implementowania relacyjnej bazy danych. Mimo że podręcznik przeznaczony jest dla osób, które przynajmniej w niewielkim stopniu orientują się w tej tematyce, szeroka skala prezentowanych informacji (od prostych zagadnień teoretycznych do problemów zaawansowanych technicznie) sprawia, że każdy może z niego skorzystać - aby na przykład nauczyć się podstawowych instrukcji języka SQL i PHP, instalowania i konfigurowania ich w systemie Windows, korzystania z usług IIS i wreszcie zarządzania własną bazą danych.

Znajdziesz tu wszystko, czego potrzebujesz, aby stworzyć własną profesjonalną bazę danych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Autor: Andrzej Szel„g ISBN: 978-83-246-1513-1 Format: 158x235, stron: 368 Poznaj i wykorzystaj narzŒdzia do projektowania baz danych (cid:149) Jak konfigurowa(cid:230) repozytorium PEAR? (cid:149) Jak przetwarza(cid:230) formularze za pomoc„ jŒzyka PHP? (cid:149) Jak wprowadza(cid:230) dane do tabeli bazy danych, a p(cid:243)(cid:159)niej je usuwa(cid:230)? UmiejŒtno(cid:156)(cid:230) tworzenia interaktywnych stron www typu e-commerce i zarz„dzania nimi jest dzisiaj w‡a(cid:156)ciwie niezbŒdna. Przydaje siŒ nie tylko administratorom sieci, ale tak¿e wszystkim informatykom i w‡a(cid:156)cicielom firm. Relacyjne bazy danych stanowi„ podstawŒ nowoczesnej aplikacji internetowej, wiŒc przede wszystkim nale¿y pozna(cid:230) najpopularniejsze jŒzyki wykorzystywane podczas pracy na tych bazach: jŒzyk skryptowy PHP oraz jŒzyk zapytaæ SQL, a tak¿e internetowe us‡ugi informacyjne (IIS) wystŒpuj„ce w najnowszych serwerowych systemach operacyjnych Microsoft Windows. Ksi„¿ka (cid:132)PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych(cid:148) w przystŒpny spos(cid:243)b i na konkretnym przyk‡adzie przedstawia zagadnienia dotycz„ce projektowania, programowania i implementowania relacyjnej bazy danych. Mimo ¿e podrŒcznik przeznaczony jest dla os(cid:243)b, kt(cid:243)re przynajmniej w niewielkim stopniu orientuj„ siŒ w tej tematyce, szeroka skala prezentowanych informacji (od prostych zagadnieæ teoretycznych do problem(cid:243)w zaawansowanych technicznie) sprawia, ¿e ka¿dy mo¿e z niego skorzysta(cid:230) (cid:150) aby na przyk‡ad nauczy(cid:230) siŒ podstawowych instrukcji jŒzyka SQL i PHP, instalowania i konfigurowania ich w systemie Windows, korzystania z us‡ug IIS i wreszcie zarz„dzania w‡asn„ baz„ danych. (cid:149) System zarz„dzania baz„ danych (cid:149) Nazwy i typy danych (cid:149) Indeksy, klucze i schematy (cid:149) Architektura baz danych (cid:149) Normalizacja i projektowanie baz danych (cid:149) (cid:140)rodowisko jŒzyka SQL (cid:149) Podstawowe klauzule jŒzyka SQL (cid:149) Podstawowe w‡a(cid:156)ciwo(cid:156)ci jŒzyka PHP (cid:149) Architektura us‡ug IIS (cid:149) Obs‡uga baz danych Microsoft SQL z poziomu PHP (cid:149) PEAR Znajdziesz tu wszystko, czego potrzebujesz, aby stworzy(cid:230) w‡asn„ profesjonaln„ bazŒ danych! Wydawnictwo Helion ul. Ko(cid:156)ciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl Spis treĈci Wprowadzenie .................................................................................. 9 Kto powinien przeczytaü tĊ ksiąĪkĊ? ..............................................................................10 O czym jest ta ksiąĪka? ..................................................................................................11 Informacje o testowym Ğrodowisku sieciowym .............................................................13 Przykáady do ksiąĪki .......................................................................................................24 Rozdziaä 1. Podstawy baz danych ..................................................................... 25 Czym jest baza danych? ................................................................................................. 25 System Zarządzania Bazą Danych .................................................................................. 27 Podstawowe pojĊcia związane z bazami danych ............................................................ 30 Tabele, kolumny i wiersze danych ........................................................................... 31 Nazwy i typy danych ................................................................................................ 36 Indeksy, klucze i schematy ....................................................................................... 38 Architektura baz danych ................................................................................................. 43 Typy baz danych ............................................................................................................. 46 Normalizacja relacyjnej bazy danych ............................................................................. 48 Projektowanie relacyjnej bazy danych ............................................................................ 51 Tworzenie relacyjnej bazy danych ................................................................................. 56 Dodatkowe Ĩródáa informacji ......................................................................................... 68 Rozdziaä 2. Jözyk SQL ...................................................................................... 69 Czym jest SQL? .............................................................................................................. 69 ĝrodowisko jĊzyka SQL ................................................................................................. 73 Podstawowe instrukcje jĊzyka SQL ............................................................................... 77 Data Definition Language (DDL) ................................................................................... 78 Instrukcja CREATE DATABASE ........................................................................... 79 Instrukcja CREATE TABLE .................................................................................... 81 Instrukcja CREATE VIEW ...................................................................................... 83 Instrukcja CREATE INDEX .................................................................................... 84 Data Manipulation Language (DML) ............................................................................. 85 Instrukcja INSERT ................................................................................................... 86 Instrukcja SELECT .................................................................................................. 88 Instrukcja UPDATE ................................................................................................. 93 Instrukcja DELETE .................................................................................................. 95 Data Control Language (DCL) ....................................................................................... 96 6 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Podstawowe klauzule jĊzyka SQL .................................................................................. 97 Klauzula FROM ............................................................................................................. 97 Klauzula WHERE .................................................................................................... 98 Klauzula ORDER BY .............................................................................................. 99 Klauzula GROUP BY ............................................................................................ 100 Klauzula HAVING ................................................................................................. 101 Dodatkowe Ĩródáa informacji ....................................................................................... 102 Rozdziaä 3. PHP ............................................................................................. 103 Czym jest PHP? ............................................................................................................ 104 Podstawowe elementy jĊzyka PHP ............................................................................... 114 Zmienne i staáe ....................................................................................................... 114 WyraĪenia i operatory ............................................................................................ 117 Struktury kontrolujące ............................................................................................ 124 Funkcje ................................................................................................................... 129 Tablice .................................................................................................................... 131 Podstawowe wáaĞciwoĞci jĊzyka PHP .......................................................................... 133 Przetwarzanie formularzy ....................................................................................... 133 Zapis i odczyt plików ............................................................................................. 138 Data i czas .............................................................................................................. 141 Instalowanie PHP w systemie Windows Server 2003 i Windows Vista ....................... 143 Pobieranie PHP ...................................................................................................... 144 Instalowanie i konfigurowanie PHP w systemie Windows .................................... 146 Dodatkowe Ĩródáa informacji ....................................................................................... 156 Rozdziaä 4. Microsoft IIS ................................................................................ 157 Podstawowe informacje o usáugach IIS ........................................................................ 158 Architektura usáug IIS .................................................................................................. 160 Instalowanie serwera IIS 6.0 w systemie Windows Server 2003 .................................. 165 Instalowanie serwera IIS 7.0 w systemie Windows Vista ............................................ 180 Rozszerzenia ISAPI i CGI/FastCGI ............................................................................. 184 Dodawanie obsáugi PHP do serwera IIS 6.0 jako rozszerzenia ISAPI .......................... 185 Dodawanie obsáugi PHP do serwera IIS 7.0 jako rozszerzenia ISAPI .......................... 204 Dodawanie obsáugi PHP do serwera IIS 6.0 jako rozszerzenia CGI ................................... 210 Dodatkowe Ĩródáa informacji ....................................................................................... 218 Rozdziaä 5. Microsoft SQL Server ................................................................... 221 Microsoft SQL Server 2000 .......................................................................................... 222 Wprowadzenie ........................................................................................................ 222 Przygotowanie do instalacji .................................................................................... 223 Wymagania sprzĊtowe i programowe .................................................................... 224 Instalowanie bazy danych programu Microsoft SQL Server 2000 ......................... 225 Instalowanie dodatku Service Pack 4 dla Microsoft SQL Server 2000 .................. 233 Microsoft SQL Server 2005 .......................................................................................... 238 Wprowadzenie ........................................................................................................ 238 Przygotowanie do instalacji .................................................................................... 240 Wymagania sprzĊtowe i programowe .................................................................... 241 Instalowanie bazy danych programu Microsoft SQL Server 2005 ......................... 241 Instalowanie dodatku Service Pack 2 dla Microsoft SQL Server 2005 .................. 257 Logowanie do serwera bazy danych programu Microsoft SQL Server 2005 ............... 264 Implementacja relacyjnej bazy danych w programie Microsoft SQL Server 2005 ................................................................................. 265 Dodatkowe Ĩródáa informacji ....................................................................................... 270 Spis treĈci 7 Rozdziaä 6. Obsäuga bazy danych Microsoft SQL Server z poziomu PHP ............ 271 Aplikacja Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP ............................................................................................................ 272 Standardy sieciowe W3C ....................................................................................... 276 Oddzielenie struktury, prezentacji i zachowania .................................................... 276 Deklaracja typu dokumentu i typu przestrzeni nazw .............................................. 278 Deklaracja typu kodowania znaków ....................................................................... 279 Deklaracja typu arkusza stylów .............................................................................. 279 Konfigurowanie obsáugi bazy danych w PHP .............................................................. 281 Obsáuga bazy danych z poziomu skryptów PHP .......................................................... 286 Podstawowe funkcje PHP obsáugujące bazĊ danych Microsoft SQL Server ................ 291 Funkcja mssql_connect() ........................................................................................ 292 Funkcja mssql_select_db() ..................................................................................... 293 Funkcja mssql_query() ........................................................................................... 293 Funkcja mssql_num_rows() ................................................................................... 294 Funkcja mssql_fetch_array() .................................................................................. 295 Funkcja mssql_free_result() ................................................................................... 296 Funkcja mssql_close() ............................................................................................ 296 Pozostaáe funkcje PHP ........................................................................................... 296 DostĊp do bazy danych Microsoft SQL Server 2005 z poziomu skryptów PHP .......... 297 Poáączenie z serwerem bazy danych ...................................................................... 298 Poáączenie z relacyjną bazą danych ........................................................................ 299 Wprowadzanie nowych danych do tabeli bazy danych ........................................ 300 WyĞwietlanie zawartoĞci tabeli bazy danych ......................................................... 303 Uaktualnianie zawartoĞci tabeli bazy danych ......................................................... 305 Usuwanie danych z tabeli bazy danych .................................................................. 309 Wyszukiwanie danych w tabeli bazy danych ......................................................... 311 Dodatkowe Ĩródáa informacji ....................................................................................... 314 Rozdziaä 7. PEAR ........................................................................................... 315 Czym jest PEAR? ......................................................................................................... 315 Instalowanie PEAR DB w systemie Windows ............................................................. 317 Pobieranie repozytorium PEAR ............................................................................. 317 Instalowanie repozytorium PEAR .......................................................................... 317 Instalowanie moduáu DB ........................................................................................ 321 Obsáuga bazy danych Microsoft SQL Server 2005 z wykorzystaniem moduáu PEAR DB ................................................................................................................... 324 Poáączenie z serwerem bazy ................................................................................... 325 Poáączenie z relacyjną bazą .................................................................................... 327 Wprowadzanie nowych danych do tabeli bazy danych .......................................... 328 WyĞwietlanie zawartoĞci tabeli bazy danych ......................................................... 332 Uaktualnianie zawartoĞci tabeli bazy danych ......................................................... 334 Usuwanie danych z tabeli bazy danych .................................................................. 336 Wyszukiwanie danych w tabeli bazy danych ......................................................... 338 Dodatkowe Ĩródáa informacji ....................................................................................... 339 8 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Dodatek A Struktura relacyjnej bazy danych WirtualnySklep ........................... 341 Dodatek B Operatory stosowane w klauzuli WHERE ....................................... 345 Dodatek C Funkcje PHP do kontroli typów zmiennych .................................... 347 Dodatek D Zmienne superglobalne wystöpujñce w PHP .................................. 349 Dodatek E ZawartoĈè folderu skompresowanego phiisq.zip ............................ 351 Skorowidz .................................................................................... 353 Rozdziaä 6. Obsäuga bazy danych Microsoft SQL Server z poziomu PHP Jedną z najwaĪniejszych zalet jĊzyka PHP jest moĪliwoĞü pozyskiwania róĪnych infor- macji z relacyjnych baz danych znajdujących siĊ na serwerach baz danych firmy Micro- soft: SQL Server 2000 lub SQL Server 2005 za pomocą skryptów PHP. Stąd teĪ jĊzyk PHP jest logicznym wyborem dla dynamicznego tworzenia zawartoĞci stron czy apli- kacji internetowych, za pomocą których moĪliwa jest obsáuga relacyjnej bazy danych. Poza wspomnianymi wyĪej Systemami Zarządzania Bazami Danych jĊzyk PHP standar- dowo udostĊpnia wiele wbudowanych oraz wyspecjalizowanych funkcji umoĪliwiających dostĊp do wiĊkszoĞci popularnych Systemów Zarządzania Bazami Danych, do których moĪna zaliczyü:  Database firmy Oracle,  MySQL firmy MySQL AB,  PostgreSQL firmy PostgreSQL Global Development Group,  DB2 firmy IBM. JĊzyk PHP umoĪliwia równieĪ wspóápracĊ z relacyjnymi bazami danych obsáugującymi uniwersalny standard ODBC (ang. Open DataBase Connectivity)1, którym nie bĊdzie- my siĊ zajmowali w tej ksiąĪce. Skupimy siĊ tu przede wszystkim na przedstawieniu obsáugi bazy danych programu Microsoft SQL Server 2005 za pomocą wbudowanych w jĊzyk PHP 5.2.5 funkcji do obsáugi tego typu bazy danych. 1 ODBC to niezaleĪny od jĊzyka programowania, systemu operacyjnego i bazy danych interfejs API (ang. Application Programming Interface), który pozwala programom áączyü siĊ z systemami zarządzania bazą danych. 272 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych DostĊp do przykáadowej relacyjnej bazy danych o nazwie WirtualnySklep zostanie przedstawiony na przykáadzie aplikacji internetowej o nazwie Obsáuga bazy danych Microsoft SQL Server z poziomu skryptów PHP, na którą skáada siĊ kilkanaĞcie skryptów PHP. Aplikacja ta bĊdzie uruchamiana z poziomu przeglądarki internetowej klienta WWW. Z kolei za pomocą serwera internetowego IIS firmy Microsoft i odpo- wiednio skonfigurowanego interpretera skryptów PHP bĊdzie realizowana obsáuga rela- cyjnej bazy danych. Aplikacja Obsäuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP W poprzednich rozdziaáach zostaáy opisane róĪne skáadniki i zastosowania jĊzyka struk- turalnego PHP oraz baz danych firmy Microsoft: SQL Server 2000 oraz SQL Server 2005. Z kolei dalsze podrozdziaáy koncentrują siĊ na podstawowych elementach i meto- dach dostĊpu do relacyjnych baz danych przy wykorzystaniu przeglądarki interneto- wej oraz skryptów PHP. Przykáady te z pewnoĞcią nie mówią wszystkiego o dostĊpie do tego typu baz danych. NaleĪy je raczej traktowaü jako wstĊp do projektowania czy programowania na wiĊkszą skalĊ, tj. tworzenia w peáni profesjonalnych i rozbudowa- nych aplikacji internetowych, za pomocą których moĪliwa bĊdzie obsáuga baz danych dowolnych typów. Podane dalej przykáady dają solidne podstawy do zrozumienia kolejnych czynnoĞci, jakie mają miejsce podczas obsáugi relacyjnej bazy danych programu Microsoft SQL Server 2005 z poziomu skryptów jĊzyka PHP. Do tych czynnoĞci moĪna zaliczyü:  poáączenie z serwerem bazy danych o nazwie EA-SQL2005,  wybranie relacyjnej bazy danych o nazwie WirtualnySklep,  wykonanie zapytania SQL (lub kilku zapytaĔ) na tabeli bazowej o nazwie tKlienci relacyjnej bazy danych,  obejrzenie wyników przygotowanych przez interpreter PHP, przesáanych przez serwer internetowy i wyĞwietlonych w przeglądarce internetowej klienta,  zwolnienie zajmowanych zasobów systemu przez wynik zapytania oraz poáączenie z serwerem bazy danych. Wszystkie przykáady zawarte w tym i w nastĊpnym rozdziale bĊdą uruchamiane w uproszczonym Ğrodowisku testowym, które zostaáo przedstawione na rysunku 6.1. Za pomocą przeglądarki internetowej Internet Explorer 7.0, która jest czĊĞcią systemu klienckiego Microsoft Windows Vista Business zainstalowanego na komputerze o na- zwie EA-K1, bĊdzie uzyskiwany dostĊp do relacyjnej bazy danych o nazwie Wirtualny- Sklep, która zostaáa zainstalowana na serwerze czáonkowskim EA-SQL2005. Na tym serwerze zostaáy równieĪ zainstalowane trzy aplikacje: interpreter PHP w wersji 5.2.5, Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 273 Rysunek 6.1. Uproszczone Ğrodowisko testowe do obsáugi bazy danych Microsoft SQL Server 2005 z poziomu skryptów PHP usáugi IIS w wersji 6.0 (serwer internetowy) i baza danych programu Microsoft SQL Server 2005 w wersji Enterprise Evaluation Edition. Serwer czáonkowski EA-SQL2005, jak juĪ wiemy z wczeĞniejszych rozdziaáów, bĊdzie pracowaá pod kontrolą systemu ope- racyjnego Microsoft Windows Server 2003 w wersji Enterprise Edition z dodatkiem Service Pack 2. DostĊp do serwera internetowego firmy Microsoft realizowany bĊdzie za pomocą lokalnej sieci komputerowej, która pracuje w domenie sieciowej o na- zwie EA.local. Na serwerze internetowym IIS w wersji 6.0 (w jego domyĞlnym katalogu System- Drive Inetpubwwwroot) powinny znajdowaü siĊ skrypty PHP, które skáadają siĊ na prostą aplikacjĊ internetową o nazwie Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP. Wszystkie skrypty są dostĊpne pod adresem ftp://ftp.helion.pl/przyklady/phiisq.zip w folderze Skrypty PHP. Po ĞciągniĊciu i rozpa- kowaniu tego katalogu naleĪy je skopiowaü do powyĪszej lokalizacji na serwerze in- ternetowym. Okno gáówne tej aplikacji zostaáo przedstawione na rysunku 6.2, a jej kod na listingu 6.1. Aplikacja ta skáada siĊ z kilkunastu przykáadowych skryptów PHP zawierających kod XHTML, CSS, PHP i tzw. osadzony SQL, który przeznaczony jest gáównie do manipulowania danymi zawartymi w relacyjnej bazie danych WirtualnySklep pracującej pod kontrolą programu Microsoft SQL Server 2005. Aplikacja internetowa, która stanowi czĊĞü tej ksiąĪki, zostaáa w skrócie przedstawiona szerzej w nastĊpnym podrozdziale. 274 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Rysunek 6.2. Okno gáówne aplikacji internetowej Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP Listing 6.1. Kod aplikacji internetowej Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP (index.php) !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd html xmlns= http://www.w3.org/1999/xhtml head title Obsđuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP /title meta http-equiv= content-type content= text/html; charset=iso-8859-2 / link href= style.css type= text/css rel= stylesheet / /head body div id= wyrownanie_do_srodka h1 ?php require_once( nazwa_programu.php ); ? /h1 h2 nbsp; a href= index.php img style= border:none;width:16px;height:16px src= home.gif alt= title= Strona gđówna / /a /h2 h3 nbsp; img src= kropka.jpg alt= title= Strona gđówna / Zapraszamy! /h3 table tbody tr td class= td_kolor_glowna_nagl nbsp;Zadania do wykonania /td td class= td_kolor_glowna_nagl nbsp;Skrypt PHP /td td class= td_kolor_glowna_nagl nbsp;Skrypt PHP [PEAR DB] /td /tr Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 275 tr td class= td_kolor_glowna nbsp; #187; Testowanie pođæczenia z serwerem /td td class= td_kolor_glowna nbsp; #187; a href= polacz_z_serwerem.php polacz_z_serwerem.php /a /td td class= td_kolor_glowna nbsp; #187; a href= polacz_z_ ´serwerem_DB.php polacz_z_serwerem_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Testowanie pođæczenia z bazæ danych /td td class= td_kolor_glowna nbsp; #187; a href= polacz_z_bd.php polacz_z_bd.php /a /td td class= td_kolor_glowna nbsp; #187; a href= polacz_z_bd_DB.php polacz_z_bd_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Dodawanie nowego rekordu do tabeli /td td class= td_kolor_glowna nbsp; #187; a href= insert.php insert.php /a /td td class= td_kolor_glowna nbsp; #187; a href= insert_DB.php insert_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Wyħwietlanie rekordów ´z tabeli /td td class= td_kolor_glowna nbsp; #187; a href= select.php select.php /a /td td class= td_kolor_glowna nbsp; #187; a href= select_DB.php select_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Aktualizacja rekordu w tabeli /td td class= td_kolor_glowna nbsp; #187; a href= update.php update.php /a /td td class= td_kolor_glowna nbsp; #187; a href= update_DB.php update_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Usuwanie rekordu z tabeli /td td class= td_kolor_glowna nbsp; #187; a href= delete.php delete.php /a /td td class= td_kolor_glowna nbsp; #187; a href= delete_DB.php delete_DB.php /a /td /tr tr td class= td_kolor_glowna nbsp; #187; Wyszukiwanie rekordów ´w tabeli /td td class= td_kolor_glowna nbsp; #187; a href= szukaj.php szukaj.php /a /td td class= td_kolor_glowna nbsp; #187; a href= szukaj_DB.php szukaj_DB.php /a /td /tr /tbody /table /div /body /html 276 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych PowyĪszy kod zostanie doĞü szczegóáowo opisany w kolejnych podrozdziaáach — szcze- gólnie te jego elementy, które są związane ze standardami sieciowymi organizacji W3C, czyli miĊdzy innymi z technologiami CSS i XHTML. Aplikacja internetowa Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP jest niezwykle prostym projektem zawierającym kilkanaĞcie skryptów PHP, za pomocą których realizowana jest obsáuga bazy danych programu Microsoft SQL Server 2005 przy wykorzystaniu funkcji bazodanowych dostĊpnych w PHP. Skrypty te ilustrują zastosowanie jĊzyków strukturalnych: PHP i SQL oraz bazy danych progra- mu Microsoft SQL Server 2005. OczywiĞcie kod tej aplikacji moĪna zoptymalizowaü tak, by w jeszcze mniejszym stopniu obciąĪaá zasoby systemu i lepiej realizowaá swoje funkcje. Standardy sieciowe W3C W przypadku budowania witryn i aplikacji internetowych opartych na nowoczesnych standardach sieciowych naleĪy pamiĊtaü o tym, aby moĪliwe byáo ich szybkie prze- budowanie w przyszáoĞci, jeĪeli kiedykolwiek zajdzie taka potrzeba. Pozwalają na to technologie rekomendowane przez miĊdzynarodowe konsorcjum o nazwie W3C (ang. World Wide Web Consortium). Generalnie, aplikacja internetowa o nazwie Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP jest prostym projek- tem, którego struktura zostaáa zbudowana przy uĪyciu tzw. standardów sieciowych2. Co daje projektowanie i budowanie witryn oraz aplikacji internetowych z uĪyciem stan- dardów sieciowych? OdpowiedĨ jest prosta: obniĪenie kosztów produkcji i utrzyma- nia przy zapewnieniu dostĊpnoĞci dla klientów czy uĪytkowników, a takĪe zgodnoĞü z przeglądarkami internetowymi i dziaáanie na róĪnych platformach systemowych (Win- dows, Unix itp.). Generalnie mówiąc, standardy sieciowe są potĊĪnym i profesjonalnym narzĊdziem, dziĊki któremu moĪna projektowaü oraz budowaü zaawansowane i profe- sjonalnie wyglądające witryny czy aplikacje internetowe. Są one kluczem do projekto- wania w niezwykle efektywny, efektowny, a zarazem dostĊpny dla wielu osób sposób. Oddzielenie struktury, prezentacji i zachowania Powszechnie znana wĞród projektantów i programistów witryn czy aplikacji interne- towych jest idea stosowania kodu XHTML3 do opisywania struktury dokumentu in- ternetowego (np. strony internetowej), stylów CSS4 do opisywania jego wyglądu (czyli prezentacji), a jĊzyków PHP czy JavaScript — jego zachowania. Koncepcja oddziele- nia sposobu prezentacji (za pomocą plików z rozszerzeniem .css) od zawartoĞci (pliki z rozszerzeniem .html) moĪe byü z powodzeniem rozszerzona na skrypty PHP, tj. pliki 2 Standardy sieciowe stanowią kontynuacjĊ istniejących dotąd technik internetowych. Są to wiĊc jĊzyki strukturalne (takie, jak XHTML czy XML), jĊzyki warstwy aplikacji (takie, jak CSS) czy jĊzyki skryptowe (takie, jak ECMAScript). 3 WiĊcej informacji na temat XHTML-a moĪna znaleĨü na stronie pod adresem http://www.w3.org/MarkUp/. 4 WiĊcej informacji na temat CSS moĪna znaleĨü na stronie pod adresem http://www.w3.org/Style/CSS/. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 277 z rozszerzeniem .php. Przykáadem takiego rozszerzenia jest wáaĞnie przedstawiona tutaj aplikacja internetowa Obsáuga bazy danych programu Microsoft SQL Server z po- ziomu skryptów PHP. Dlaczego warto stosowaü tego typu rozwiązanie? OtóĪ dlatego, Īe duĪo áatwiej utrzymywaü, uĪywaü czy teĪ modyfikowaü poszczególne pliki skáadają- ce siĊ na aplikacjĊ internetową przez dáuĪszy czas, jeĪeli logika (pliki .php) bĊdzie oddzielona od zawartoĞci (pliki .html), a ta z kolei od sposobu prezentacji (pliki .css). Generalnie mówiąc, sprowadza siĊ to do rozdzielenia kodu PHP od kodu XHTML i CSS. Bez tego kod aplikacji internetowej stanie siĊ znacznie trudniejszy w utrzymaniu, uĪyt- kowaniu czy modyfikowaniu. Szczególnie waĪne jest to np. w przypadku wiĊkszych projektów. OtóĪ moĪe siĊ np. okazaü, Īe w przypadku wiĊkszych zmian w kodzie wi- tryny czy aplikacji internetowej niemoĪliwe bĊdzie przystosowanie jej do nowej rzeczy- wistoĞci. Problemem moĪe okazaü siĊ np. duĪa czĊĞü kodu XHTML, który zawiera znaczniki HTML decydujące o wyglądzie poszczególnych jej elementów. Ich usuniĊ- cie czy zmodyfikowanie moĪe zająü naprawdĊ bardzo duĪo czasu oraz stworzyü wiele problemów. JĊzyk znaczników XHTML moĪe zawieraü sformatowane dane tekstowe, obiekty osa- dzone (jak rysunki, filmy, prezentacje itp.). JĊzyk prezentacyjny CSS z kolei formatuje poszczególne witryny czy aplikacje internetowe oraz kontroluje rozmieszczenie, uáoĪe- nie czy kolor poszczególnych ich elementów. ZaĞ jĊzyk strukturalny PHP czy JavaScript umoĪliwia tworzenie zaawansowanych funkcji witryny czy aplikacji internetowej, a takĪe efektów dziaáających w róĪnych przeglądarkach internetowych czy platformach systemowych (Windows, Unix, MacOS itp). Odseparowanie struktury dokumentu od prezentacji i zachowania jest oznakñ pro- fesjonalnego podejĈcia do projektowania oraz programowania witryn i aplikacji inter- netowych. Mówiñc jeszcze inaczej, jest to metoda, wedäug której bödñ projektowane witryny i aplikacje internetowe w przyszäoĈci. Autor niniejszej ksiąĪki jest zdania, Īe strony czy aplikacje internetowe powinny byü tworzone w oparciu o kaskadowe arkusze stylów (jak jĊzyk prezentacji CSS) i standar- dy sieciowe (jak jĊzyk znaczników XHTML). Dlaczego? OtóĪ powyĪsze mechanizmy rozwiązują liczne problemy nie tylko projektantów czy programistów, ale równieĪ zwykáych uĪytkowników, którzy korzystają z witryn i aplikacji internetowych. Technologie takie, jak CSS czy XHTML, pozwalają:  zmniejszaü nakáad pracy projektantów i programistów oraz skróciü czas projektowania,  projektowaü zaawansowane funkcje interaktywne witryn lub aplikacji internetowych, które dziaáają w róĪnych przeglądarkach internetowych i na róĪnych platformach systemowych (Windows, Unix, MacOS itp.),  kontrolowaü rozmieszczenie w przeglądarkach internetowych poszczególnych elementów czy czĊĞci witryn lub aplikacji internetowych,  áatwo i szybko modyfikowaü czĊĞü czy caáoĞü witryn lub aplikacji internetowych,  odciąĪaü serwery internetowe i áącza internetowe, 278 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych  oddzielaü styl witryn lub aplikacji internetowych od ich struktury czy zachowania,  skróciü czas wczytywania witryn internetowych,  zapewniü wzrost dostĊpnoĞci witryny internetowej,  obsáugiwaü urządzenia przenoĞne, takie jak np. telefony komórkowe czy inne urządzenia bezprzewodowe. Deklaracja typu dokumentu i typu przestrzeni nazw Aplikacja internetowa Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP jest projektem, którego struktura zostaáa zbudowana przy uĪyciu jed- nego z trzech aktualnie wykorzystywanych standardów sieciowych — XHTML 1.0 Transtional, który rekomendowany jest przez konsorcjum W3C. MoĪna siĊ o tym prze- konaü, edytując kod dowolnego ze skryptów PHP, które skáadają siĊ na tĊ aplikacjĊ. Mianowicie kaĪdy dokument zaczyna siĊ od deklaracji typu dokumentu internetowe- go wraz z deklaracją typu przestrzeni nazw, które zostaáy pokazane na listingu 6.2. Listing 6.2. Deklaracja typu dokumentu internetowego wraz z deklaracją typu przestrzeni nazw (index.php) !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd html xmlns= http://www.w3.org/1999/xhtml Dokumenty internetowe, które zostaáy stworzone przy uĪyciu jĊzyka znaczników XHTML, rozpoczynają siĊ od elementów informujących dowolną przeglądarkĊ inter- netową o tym, w jaki sposób mają byü one interpretowane i sprawdzane. Stąd teĪ pierwszy z tych elementów (DOCTYPE) jest deklaracją typu dokumentu internetowego. Generalnie jĊzyk XHTML pozwala projektantom i programistom tworzyü klika róĪnych typów dokumentów, kaĪdy z zestawem innych reguá, które są wymieniane w specyfika- cji XHTML jako definicja typu dokumentu (w skrócie DTD). Wspomniana deklaracja typu dokumentu internetowego (DOCTYPE) informuje przeglądarkĊ internetową o tym, jakiej definicji typu dokumentu trzymaá siĊ programista tworzący daną stronĊ inter- netową. Deklaracja ta jest niezwykle waĪna w dokumencie internetowym stworzonym w jĊzyku znaczników XHTML. Bez poprawnie zdefiniowanej deklaracji DOCTYPE Īadna przeglądarka internetowa nie zweryfikuje kodu znaczników XHTML i stylu CSS. W efekcie pojawią siĊ problemy, gdyĪ przeglądarka internetowa nie bĊdzie potrafiáa obsáuĪyü, tj. sprawdziü i poprawnie wyĞwietliü, strony internetowej. Po deklaracji DOCTYPE znajduje siĊ deklaracja typu przestrzeni nazw XHTML. PrzestrzeĔ ta jest kolekcją typów elementów i nazw atrybutów skojarzonych z definicją typu dokumentu internetowego. Deklaracja przestrzeni nazw pozwala zidentyfikowaü swoją przestrzeĔ nazw przez wskazanie jej lokalizacji (http://www.w3.org/1999/xhtml). Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 279 Deklaracja typu kodowania znaków Aby dokumenty internetowe utworzone za pomocą jĊzyka znaczników o nazwie XHTML mogáy byü poprawnie zinterpretowane przez dowolną przeglądarkĊ internetową i przejĞü pomyĞlnie wszystkie testy sprawdzające, muszą deklarowaü tzw. typ kodowania zna- ków uĪyty do ich stworzenia. W przypadku aplikacji Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP jest to charset=iso-8859-2, zgodnie z tym, co zostaáo przedstawione na listingu 6.3. Listing 6.3. Deklaracja typu kodowania znaków w dokumencie internetowym (index.php) head title Obsđuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP /title meta http-equiv= content-type content= text/html; charset=iso-8859-2 / link href= style.css type= text/css rel= stylesheet / /head Jak widaü na powyĪszym listingu, typ kodowania znaków, który zapewnia popraw- ne wyĞwietlanie znaków narodowych, zostaá zadeklarowany za pomocą elementu http-equiv= content-type umieszczonego w elemencie meta… / czĊĞci nagáówko- wej dokumentu internetowego, czyli pomiĊdzy znacznikami head … /head . Zaznaczo- ny na listingu 6.3 czcionką pogrubioną wiersz pokazuje zapis dla kodowania iso-8859-2. Takie oznaczenie nosi polska strona kodowa, tj. dla polskich czcionek. W przypadku tworzenia miödzynarodowej witryny czy aplikacji internetowej, która bödzie zawieraè znaki niewystöpujñce w kodzie ASCI, naleĔy uĔyè kodowania utf-8 zamiast iso-8859-2. Standard ISO 8859 stworzony zostaá w poáowie lat 80. XX w. przez Europejskie Sto- warzyszenie Producentów Komputerów. Jest on serią standaryzowanych wielojĊzycz- nych zestawów znaków graficznych, które są kodowane na jednym bajcie (1 B), czyli 8 bitach (1 B = 8 bitów). Jednym z tych zestawów jest wspomniany juĪ wyĪej standard iso-8859-2. Deklaracja typu arkusza stylów Kaskadowe arkusze stylów mogą wystĊpowaü jako zewnĊtrzne, byü osadzone w ko- dzie XHTML danej witryny internetowej lub wystĊpowaü w tzw. miejscu (ang. inline). W niniejszej ksiąĪce zostanie omówione jedynie pierwsze z tych wystąpieĔ arkuszy stylów. Dlaczego? OtóĪ dlatego, Īe przy zastosowaniu zewnĊtrznych arkuszy stylów otrzymujemy szereg wymiernych korzyĞci, które wynikają choüby ze znacznego zmniej- szenia obciąĪenia serwera internetowego czy áączy internetowych. Poza tym są one obsáugiwane przez wiĊkszoĞü popularnych przeglądarek internetowych (w tym rów- nieĪ Internet Explorer, która jest skáadnikiem systemów operacyjnych z rodziny Micro- soft Windows). 280 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych ZewnĊtrzny arkusz stylów, czyli plik z rozszerzeniem .css (np. style.css, który jest do- stĊpny pod adresem ftp://ftp.helion.pl/przyklady/phiisq.zip w folderze Skrypty PHP, a jego przykáadowa zawartoĞü zostaáa pokazana na rysunku 6.3), jest dokumentem tekstowym zawierającym kod CSS w postaci okreĞlonych reguá CSS. MoĪe on byü wykorzystany z powodzeniem na stronie internetowej zgodnej ze standardami sieciowymi. Inaczej mówiąc, strona internetowa XHTML moĪe uĪywaü pliku z rozszerzeniem .css (pliku arkusza stylów), odwoáując siĊ do niego poprzez element o nazwie link, który zostaá umieszczony w nagáówku dokumentu internetowego, tj. w sekcji head … /head . Rysunek 6.3. Przykáadowa zawartoĞü pliku style.css Przykáadowy element link moĪe wyglądaü podobnie to tego z listingu 6.4. Listing 6.4. Deklaracja arkusza stylów w dokumencie internetowym (index.php) head title Obsđuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP /title meta http-equiv= content-type content= text/html; charset=iso-8859-2 / link href= style.css type= text/css rel= stylesheet / /head Reguäa w kodzie CSS jest to kompletne okreĈlenie stylu skäadajñcego siö z selek- tora oraz bloku deklaracji umieszczonych pomiödzy nawiasami klamrowymi, np. w postaci: p {font-family: Verdana, sans-serif;}. Takie podejĞcie powoduje, Īe plik ten jest podáączany w trakcie pierwszego urucho- mienia skryptu PHP o nazwie index.php, w którym zadeklarowany zostaá arkusz sty- lów CSS. Zmniejsza to nie tylko obciąĪenie samego serwera internetowego, ale i áącz, za pomocą których plik ten jest wywoáywany. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 281 Konfigurowanie obsäugi bazy danych w PHP Gdy juĪ poznaliĞmy podstawowe elementy jĊzyków SQL, PHP czy XHTML, a takĪe utworzyliĞmy relacyjną bazĊ danych o nazwie WirtualnySklep wraz z poszczególnymi jej tabelami bazowymi w programie Microsoft SQL Server 2005, moĪemy przystąpiü do skonfigurowania obsáugi tejĪe bazy z poziomu skryptów PHP. W niniejszym podrozdziale skupimy siĊ gáównie na klientach wirtualnego sklepu, tj. na obsáudze tabeli bazowej o nazwie tKlienci, która znajduje siĊ w relacyjnej bazie danych o nazwie WirtualnySklep. To wáaĞnie na jej przykáadzie zostanie zaprezentowany do- stĊp do serwera bazy danych Microsoft SQL Server 2005 z poziomu skryptów PHP (za pomocą wbudowanych funkcji obsáugujących tego typu bazĊ danych), do relacyj- nej bazy danych WirtualnySklep oraz jej tabeli bazowej tKlienci, a takĪe wszelkiego rodzaju operacje związane z dodawaniem, odczytywaniem, modyfikacją, usuwaniem czy wyszukiwaniem danych. Aby w ogóle moĪliwa byáa jakakolwiek komunikacja pomiĊdzy bazą danych progra- mu Microsoft SQL Server 2005 a interpreterem PHP, naleĪy wykonaü pewne wstĊpne kroki konfiguracyjne, które zostaną opisane w tym podrozdziale. W przypadku jĊzyka PHP w wersji 5.2.5 kaĪdemu serwerowi baz danych odpowiada dynamiczna bibliote- ka, czyli zazwyczaj jakiĞ plik z rozszerzeniem .dll, który znajduje siĊ w katalogu in- stalacyjnym PHP z rozszerzeniami, tj. C:PHP5ext. Plik ten zawiera zbiór okreĞlo- nych z góry funkcji, które są wykorzystywane w komunikacji z okreĞloną relacyjną bazą danych. Przykáadowa zawartoĞü katalogu rozszerzeĔ jĊzyka PHP w wersji 5.2.5 zostaáa przed- stawiona na rysunku 6.4. Warto tu dodaü, Īe w przypadku bazy danych programu Micro- soft SQL Server 2005 bardzo waĪne są dwa pliki: php_mssql.dll (znajdujący siĊ w loka- lizacji C:PHP5ext) oraz ntwdblib.dll (znajdujący siĊ w lokalizacji C:PHP5), który do dziaáania wymaga wspomnianej biblioteki php_mssql.dll. W przypadku innych baz danych, np. Oracle Database, niezwykle waĪny jest plik php_oci8.dll, dla MySQL AB MySQL — php_mysql.dll, z kolei dla bazy danych PostgreSQL Global Development Group PostgreSQL — php_pgsql.dll. Po czystej instalacji bazy danych programu Microsoft SQL Server 2005 oraz dodatku Service Pack 2 dla tego programu, która zostaáa przedstawiona szczegóáowo w po- przednim rozdziale, naleĪy uruchomiü na komputerze klienta EA-K1 przeglądarkĊ inter- netową i wpisaü jako adres URL http://ea-sql2005. Po wybraniu klawisza Enter zostanie wyĞwietlona testowa aplikacja internetowa Obsáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP, której okno gáówne zostaáo przedstawione wczeĞniej, tj. na rysunku 6.2. Po klikniĊciu odnoĞnika polacz_z_serwerem.php, za po- mocą którego moĪna przetestowaü poáączenie z serwerem bazy danych o nazwie EA- SQL2005 z poziomu skryptu PHP, pojawi siĊ „pusta strona internetowa” — zgodnie z tym, co zostaáo pokazane na rysunku 6.5. Termin „pusta strona internetowa” naleĪy tutaj rozumieü jako „strona bez przetworzonego kodu PHP”, tj. kodu znajdującego siĊ pomiĊdzy znacznikami jĊzyka PHP ?php //… ? . Czyli inaczej mówiąc, bez kodu 282 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Rysunek 6.4. ZawartoĞü katalogu C:PHP5ext z plikami do obsáugi róĪnych typów relacyjnych baz danych pokazanego na listingu 6.5, który pochodzi z pliku polacz_z_serwerem.php. Plik ten, jak juĪ wiemy, znajduje siĊ w katalogu gáównym serwera internetowego EA-SQL2005, tj. C:Inetpubwwwroot. WyĞwietlany jest jedynie statyczny kod strony internetowej, tj. kod HTML. Dlaczego tak siĊ dzieje? OtóĪ dzieje siĊ tak z kilku przedstawionych poniĪej powodów.  Brak w katalogu SystemRoot system32 serwera czáonkowskiego EA-SQL2005 (na którym dziaáa interpreter PHP 5.2.5 i usáugi IIS 6.0) bardzo waĪnego pliku o nazwie ntwdblib.dll, który dostarczany jest wraz z interpreterem PHP 5.2.5, czyli z repozytorium o nazwie php-5.2.5-Win32.zip. W przypadku programu Microsoft SQL Server 2000 plik ten jest domyĞlnie instalowany w powyĪszym katalogu.  Wyáączone jest rozszerzenie php_mssql.dll w sekcji Windows Extensions pliku konfiguracyjnego SystemRoot php.ini, które po domyĞlnej instalacji interpretera PHP 5.2.5 nie jest aktywne (znak Ğrednika w linii ;extension= ´php_mssql.dll, który oznacza komentarz). Jak pamiĊtamy, polecenia ze znakiem komentarza nie są wczytywane do pamiĊci operacyjnej serwera czáonkowskiego podczas uruchamiania interpretera PHP.  Nie zostaáa poprawnie zdefiniowana ĞcieĪka w dyrektywie extension_dir = C:PHP5ext pliku konfiguracyjnego SystemRoot php.ini, która po domyĞlnej instalacji interpretera PHP 5.2.5 ma postaü extension_dir = ./ . Powoduje to, Īe nie moĪe byü wczytany plik php_mssql.dll, który znajduje siĊ w katalogu rozszerzeĔ PHP.  Dodatkowo — w przypadku gdy PHP wykorzystuje rozszerzenie CGI (plik wykonywalny php-cgi.exe zamiast php5isapi.dll) — nie zostaáa wáączona (odpowiednio skonfigurowana) w pliku konfiguracyjnym SystemRoot php.ini linijka tekstu ;cgi.force_redirect = 1. NaleĪy ją wáączyü, usuwając znak Ğrednika, który, jak wiemy, jest komentarzem, i ustawiü na wartoĞü 0. Poprawna linijka kodu powinna wyglądaü tak: cgi.force_redirect = 0. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 283 Rysunek 6.5. Negatywny wynik testowania poáączenia z serwerem bazy danych programu Microsoft SQL Server 2005 z poziomu skryptu polacz_z_serwerem.php Listing 6.5. Kod PHP realizujący poáączenie z serwerem bazy danych programu Microsoft SQL Server 2005 (polacz_z_serwerem.php) ?php require_once( funkcje.php ); polacz_z_serwerem_bd(); ? Jak widaü na powyĪszym listingu, wykorzystana zostaáa instrukcja require_once() pozwalająca na zaáadowanie pliku funkcje.php do skryptu PHP i wywoáana funkcja polacz_z_serwerem_bd(), która znajduje siĊ w tym pliku. Funkcja ta zawiera para- metry potrzebne do zestawienia poáączenia z serwerem bazy danych Microsoft SQL Server 2005, który dziaáa na serwerze czáonkowskim o nazwie EA-SQL2005, oraz obsáu- gi báĊdów, jakie mogą wystąpiü podczas zestawiania tego poáączenia. Biblioteka dynamiczna ntwdblib.dll, która do dziaáania wymaga innej biblioteki — php_mssql.dll, znajduje siĊ w katalogu instalacji interpretera PHP, czyli C:PHP5 (po rozpakowaniu repozytorium php-5.2.5-Win32.zip), oraz jest wykorzystywana pod- czas dostĊpu do relacyjnej bazy danych programu Microsoft SQL Server 2005 z po- ziomu skryptów PHP. Plik ten wykorzystywany jest w komunikacji z serwerem bazy danych Microsoft SQL Server 2005. Ze wzglödu na szybkoĈè wykonywania skryptów PHP najlepiej jest, kiedy zarówno PHP, jak i Microsoft SQL Server 2005 dziaäajñ na tym samym komputerze. 284 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Aby istniaáa moĪliwoĞü odczytywania plików z rozszerzeniami .php (skryptów PHP) i wyĞwietlania wyników ich dziaáania z poziomu przeglądarki internetowej klienta EA-K1, naleĪy wykonaü poniĪsze kroki na serwerze czáonkowskim EA-SQL2005, na którym zostaáy zainstalowane:  interpreter skryptów PHP w wersji 5.2.5,  serwer internetowy IIS w wersji 6.0,  serwer bazy danych Microsoft SQL Server 2005. 1. Skopiowaü plik ntwdblib.dll z katalogu C:PHP5 do katalogu SystemRoot ´system32. MoĪna to wykonaü bardzo szybko np. za pomocą komendy wydanej z okna Wiersz polecenia: copy C:PHP5 twdblib.dll SystemRoot ´system32. 2. Zatrzymaü i ponownie uruchomiü usáugi IIS 6.0 na serwerze czáonkowskim EA-SQL2005 — zgodnie z tym, co przedstawia rysunek 6.6 — czyli z poziomu konsoli MenedĪer internetowych usáug informacyjnych (IIS), którą moĪna uruchomiü za pomocą komendy inetmgr (wydanej z poziomu okna dialogowego Uruchamianie) lub start inetmgr (wydanej z poziomu okna Wiersz polecenia). Rysunek 6.6. Ponowne uruchamianie usáugi IIS na serwerze czáonkowskim EA-SQL2005 3. W oknie dialogowym o nazwie Zatrzymywanie/uruchamianie/uruchamianie ponowne…, które zostaáo przedstawione na rysunku 6.7, naleĪy sprawdziü, czy wybrana jest czynnoĞü Uruchom ponownie Usáugi internetowe na EA-SQL2005, i kliknąü przycisk OK. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 285 Rysunek 6.7. Okno dialogowe o nazwie Zatrzymywanie/ uruchamianie/ uruchamianie ponowne… Zatrzymanie i ponowne uruchomienie usäug IIS 6.0 na serwerze czäonkowskim EA-SQL2005 moĔna szybko wykonaè za pomocñ nastöpujñcej komendy wiersza poleceþ: iisreset EA-SQL2005. 4. Sprawdziü w skryptach PHP, czy zostaáy zdefiniowane poprawnie takie zmienne, jak: nazwa serwera bazy danych Microsoft SQL Server 2005 (EA- SQL2005), nazwa uĪytkownika (sa) i hasáo (27aB.#cd75) — zgodnie z tym, co przedstawia listing 6.6. Dodatkowo naleĪy teĪ sprawdziü zmienną $bazaDanych, która powinna mieü przypisaną nazwĊ WirtualnySklep, czyli $bazaDanych = WirtualnySklep . Zmienna ta nie jest potrzebna w przypadku nawiązywania poáączenia z samym serwerem bazy danych Microsoft SQL Server 2005. Jest za to wrĊcz niezbĊdna w pozostaáych skryptach PHP, które np. operują na danych zgromadzonych w tabeli bazowej tKlienci. Listing 6.6. Zmienne wymagane do poáączenia z serwerem bazy danych Microsoft SQL Server 2005 i bazą danych WirtualnySklep ?php $nazwaSerwera = EA-SQL2005 ; $bazaDanych = WirtualnySklep ; $nazwaUzytkownika = sa ; $hasloUzytkownika = 27aB.#cd75 ; /* blok kodu skryptu PHP */ ? Po wykonaniu powyĪszych kroków próba poáączenia za pomocą przeglądarki inter- netowej klienta EA-K1 z serwerem bazy danych Microsoft SQL Server 2005 z po- ziomu skryptu PHP (za pomocą adresu http://ea-sql2005/polacz_z_serwerem.php) powinna siĊ powieĞü, co przedstawia rysunek 6.8, czyli komunikat o treĞci [+] Poáą- czono siĊ z serwerem bazy danych. JeĪeli tak siĊ stanie, to moĪemy zaáoĪyü, Īe odtąd moĪliwa jest komunikacja nie tylko pomiĊdzy relacyjna bazą danych programu Micro- soft SQL Server 2005 a interpreterem PHP 5.2.5, ale takĪe pomiĊdzy serwerem IIS 6.0 286 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Rysunek 6.8. Pozytywny wynik testowania poáączenia z serwerem bazy danych programu Microsoft SQL Server 2005 z poziomu skryptu polacz_z_serwerem.php i przeglądarką internetową klienta EA-K1. Inaczej mówiąc, moĪliwa jest obsáuga bazy danych programu Microsoft SQL Server 2005 z poziomu aplikacji internetowej Ob- sáuga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP, która znajduje siĊ na serwerze internetowym IIS 6.0 (w katalogu gáównym tego serwera). W razie problemów z podáączeniem siĊ do serwera bazy danych Microsoft SQL Server 2005 z poziomu skryptu PHP o nazwie polacz_z_serwerem.php naleĪy sprawdziü usta- wienia w pliku konfiguracyjnym w katalogu SystemRoot php.ini. NajwaĪniejsze ustawienia zostaáy zaprezentowane w podrozdziale „Instalowanie i konfigurowanie PHP w systemie Windows” niniejszej ksiąĪki. Obsäuga bazy danych z poziomu skryptów PHP ObsáugĊ relacyjnej bazy danych o nazwie WirtualnySklep znajdującej siĊ na serwerze bazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005 (z poziomu skryptu PHP, np. select.php, który jest dostĊpny pod adresem ftp://ftp.helion.pl/przyklady/ ´phiisq.zip w folderze Skrypty PHP) moĪna podzieliü na piĊü poniĪej przedstawio- nych kroków. Krok 1. Nawiązanie poáączenia z serwerem bazy danych programu Microsoft SQL Server 2005 o nazwie EA-SQL2005. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 287 Przykáadowy kod PHP zostaá przedstawiony na listingu 6.7. Istotne elementy kodu PHP zostaáy zaznaczone tekstem pogrubionym. Listing 6.7. Nawiązanie poáączenia z serwerem bazy danych programu Microsoft SQL Server 2005 o nazwie EA-SQL2005 ?php $nazwaSerwera = EA-SQL2005 ; $bazaDanych = WirtualnySklep ; $nazwaUzytkownika = sa ; $hasloUzytkownika = 27aB.#cd75 ; $polacz_z_serwerem = @mssql_connect($nazwaSerwera, $nazwaUzytkownika, $hasloUzytkownika) or die( [-] Nie moľna pođæczyè siú z serwerem bazy danych! br / br / ); /* kod skryptu PHP */ ? Krok 2. Nawiązanie poáączenia z relacyjną bazą danych o nazwie WirtualnySklep, która znajduje siĊ na serwerze bazy danych programu Microsoft SQL Server 2005 o nazwie EA-SQL2005. Przykáadowy kod PHP zostaá przedstawiony na listingu 6.8. Jego istotne elementy zo- staáy zaznaczone tekstem pogrubionym. Listing 6.8. Nawiązanie poáączenia z relacyjną bazą danych o nazwie WirtualnySklep ?php $nazwaSerwera = EA-SQL2005 ; $bazaDanych = WirtualnySklep ; $nazwaUzytkownika = sa ; $hasloUzytkownika = 27aB.#cd75 ; $polacz_z_serwerem = @mssql_connect($nazwaSerwera, $nazwaUzytkownika, $hasloUzytkownika) or die( [-] Nie moľna pođæczyè siú z serwerem bazy danych! br / br / ); $polacz_z_baza = @mssql_select_db($bazaDanych, $polacz_z_serwerem) or die( [-] Nie moľna pođæczyè siú z bazæ danych! br / br / ); /* kod skryptu PHP */ ? 288 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych Krok 3. Wysáanie zapytania SQL do tabeli bazowej tKlienci relacyjnej bazy danych WirtualnySklep programu Microsoft SQL Server 2005 o nazwie EA-SQL2005. Przykáadowy kod zostaá przedstawiony na listingu 6.9. Jego istotne elementy zostaáy zaznaczone tekstem pogrubionym. Listing 6.9. Wysáanie zapytania SQL do tabeli bazowej tKlienci ?php /* kod skryptu PHP */ $zapytanie = SELECT * FROM tKlienci ; /* kod skryptu PHP */ ? Krok 4. Pobranie i wykorzystanie otrzymanych wyników (np. wyĞwietlenie zawarto- Ğci tabeli bazowej tKlienci relacyjnej bazy danych WirtualnySklep) w postaci statycznej tabeli HTML. Przykáadowy kod zostaá pokazany na listingu 6.10. Jego istotne elementy zostaáy za- znaczone tekstem pogrubionym. Listing 6.10. Pobranie i wykorzystanie otrzymanych wyników w postaci statycznej tabeli HTML ?php /* kod skryptu PHP */ $wynik = @mssql_query($zapytanie); if (!$wynik) { echo [-] Wykonanie zapytania nie powiodđo siú! br / br / ; exit; } else { echo table cellspacing= 3 cellpadding= 5 ; echo tr bgcolor= #dddddd align= left ; echo th Nr ID /th th Nazwisko /th th Imiú /th th Ulica /th th Kod poczt. /th th Miejscowoħè /th th Województwo /th th Telefon /th th Email /th ; Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 289 echo /tr ; while ($wiersz = @mssql_fetch_array($wynik)) { echo tr align= left ; echo td .$wiersz[ KlientID ]. /td ; echo td .$wiersz[ Nazwisko ]. /td ; echo td .$wiersz[ Imie ]. /td ; echo td .$wiersz[ Ulica ]. /td ; echo td .$wiersz[ KodPocztowy ]. /td ; echo td .$wiersz[ Miejscowosc ]. /td ; echo td .$wiersz[ Wojewodztwo ]. /td ; echo td .$wiersz[ Telefon ]. /td ; echo td .$wiersz[ Email ]. /td ; echo /tr ; } echo /table ; } /* kod skryptu PHP */ ? Krok 5. Zwolnienie zajĊtych zasobów serwera bazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005 (gáównie jego pamiĊci operacyjnej RAM) przez zmienne $wynik i $polacz_z_serwerem oraz zamkniĊcie poáączenia z tym serwerem bazy danych. Przykáadowy kod PHP zostaá przedstawiony na listingu 6.11. Jego istotne elementy zo- staáy zaznaczone tekstem pogrubionym. Listing 6.11. Zwolnienie zajĊtych zasobów serwera bazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005 i zamkniĊcie poáączenia z tym serwerem ?php /* blok kodu skryptu PHP */ @mssql_free_result($wynik); @mssql_close($polacz_z_serwerem); /* blok kodu skryptu PHP */ ? Reasumując, spróbujmy okreĞliü, jakie czynnoĞci wykonuje skrypt PHP o nazwie select.php. W skrócie moĪna przedstawiü je w nastĊpujących krokach. Krok 1. Na samym początku zestawiane jest poáączenie z serwerem bazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005, na którym znajduje siĊ relacyjna baza danych o nazwie WirtualnySklep — przy uĪyciu funkcji wewnĊtrznej PHP mssql_connect(), której podstawowymi parametrami są: 290 PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych  nazwa serwera bazy danych Microsoft SQL Server 2005 (EA-SQL2005),  nazwa uĪytkownika (sa), którego konto ma przyznane odpowiednie uprawnienia do relacyjnej bazy danych WirtualnySklep,  hasáo uĪytkownika (27aB.#cd75). Krok 2. Kiedy poáączenie z serwerem bazy danych Microsoft SQL Server 2005 o na- zwie EA-SQL2005 zostanie pomyĞlnie nawiązane, wynikiem dziaáania funkcji o nazwie mssql_connect() bĊdzie identyfikator poáączenia (np. Resource id #1), który jest prze- chowywany w zmiennej o nazwie $polacz_z_serwerem. W przypadku jakichkolwiek problemów z poáączeniem z serwerem bazy danych zostanie wyĞwietlony (przy wyko- rzystaniu funkcji o nazwie die()) komunikat báĊdu o nastĊpującej treĞci: [-] Nie moĪna poáączyü siĊ z serwerem bazy danych!. Krok 3. Po poprawnym zestawieniu poáączenia z serwerem bazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005 kolejnym krokiem jest wybranie (za pomocą funkcji o nazwie mssql_select_db()) relacyjnej bazy danych WirtualnySklep, która znaj- duje siĊ na tym serwerze. Krok 4. JeĪeli nie wystąpi Īaden krytyczny báąd (identyfikator poáączenia wynosi 1), kolejnym krokiem bĊdzie utworzenie zmiennej $zapytanie, która bĊdzie przechowy- waáa instrukcjĊ SQL, tj. zdefiniowane zapytanie jĊzyka SQL. Krok 5. W nastĊpnym kroku tworzona jest zmienna $wynik, która przechowuje iden- tyfikator wyniku zapytania przeprowadzonego przez funkcjĊ o nazwie mssql_query(). Kiedy zapytanie zostanie poprawnie wykonane (nie pojawi siĊ komunikat o treĞci [-] Wykonanie zapytania nie powiodáo siĊ!), wtedy wydzielane są wiersze wyniku za po- mocą funkcji PHP o nazwie mssql_fetch_array(), które są przechowywane w zmiennej $wynik. WczeĞniej jednak jest tworzona statyczna tabela HTML. PĊtla while tworzy tablicĊ o nazwie $wiersz dla kaĪdego rekordu wynikowego. Wiersze są podstawiane do tablicy dopóty, dopóki wartoĞcią caáego wyraĪenia nie bĊdzie wartoĞü False. Ma to miejsce wówczas, gdy nie ma juĪ wiĊcej wierszy do przetworzenia. Wtedy pĊtla while koĔczy swoje dziaáanie. Krok 6. Na koĔcu skryptu PHP nastĊpuje zwolnienie wykorzystywanych do przepro- wadzenia zapytania SQL zasobów systemowych (gáównie pamiĊci operacyjnej RAM serwera czáonkowskiego o nazwie EA-SQL2005) — przy wykorzystaniu funkcji wbu- dowanej PHP o nazwie mssql_free_result(), oraz zamkniĊcie poáączenia z serwerem bazy danych Microsoft SQL Server 2005. Odpowiedzialna jest za to funkcja wewnĊtrz- na jĊzyka PHP o nazwie mssql_close(). UĔycie funkcji wewnötrznej PHP o nazwie mssql_close() (na koþcu skryptu PHP) nie jest wymagane, gdyĔ poäñczenia nietrwaäe (ang. nonpersistent) sñ automatycznie zamykane po zakoþczeniu dziaäania tego skryptu. Niemniej jednak dobrym nawykiem programistycznym jest, aby zwalniaè zajmowane przez zmienne zasoby oraz zamykaè otwarte poäñczenia z relacyjnñ bazñ danych. Rozdziaä 6. i Obsäuga bazy danych Microsoft SQL Server z poziomu PHP 291 Wynik skryptu PHP select.php, który zostaá wywoáany z poziomu przeglądarki inter- netowej komputera klienta EA-K1 pracującego pod kontrolą systemu operacyjnego Microsoft Windows Vista Business, zostaá pokazany na rysunku 6.9. Jak widaü na tym rysunku, w wyniku Īądania o treĞci http://ea-sql2005/select.php zwróconych zo- staáo piĊü przykáadowych rekordów z relacyjnej bazy danych WirtualnySklep, która znajduje siĊ na serwerze czáonkowskim o nazwie EA-SQL2005. Rysunek 6.9. Wynik wykonania skryptu PHP o nazwie select.php Podstawowe funkcje PHP obsäugujñce bazö danych Microsoft SQL Server Jak juĪ wspomniano na początku niniejszego rozdziaáu, interpreter jĊzyka skryptowego PHP w wersji 5.2.5 posiada wbudowaną obsáugĊ róĪnych typów baz danych (w tym bazy danych programu Microsoft SQL Server 2005) za pomocą wewnĊtrznych funkcji. Oznacza to tyle, Īe wiele popularnych typów serwerów baz danych jest obsáugiwanych z poziomu skryptów PHP. W niniejszej ksiąĪce zostaną opisane wybrane funkcje jĊzyka PHP, za pomocą których moĪliwy jest dostĊp z poziomu kodu PHP do bazy danych programu Microsoft SQL Server 2005.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: