26
Wydawnictwo Helion ul. Kociuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: [email protected] 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 Jak konfigurowa repozytorium PEAR? Jak przetwarza formularze za pomoc„ jŒzyka PHP? Jak wprowadza dane do tabeli bazy danych, a pniej je usuwa? UmiejŒtno tworzenia interaktywnych stron www typu e-commerce i zarz„dzania nimi jest dzisiaj w‡aciwie niezbŒdna. Przydaje siŒ nie tylko administratorom sieci, ale tak¿e wszystkim informatykom i w‡acicielom 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 sposb i na konkretnym przyk‡adzie przedstawia zagadnienia dotycz„ce projektowania, programowania i implementowania relacyjnej bazy danych. Mimo ¿e podrŒcznik przeznaczony jest dla osb, ktre przynajmniej w niewielkim stopniu orientuj„ siŒ w tej tematyce, szeroka skala prezentowanych informacji (od prostych zagadnieæ teoretycznych do problemw 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. System zarz„dzania baz„ danych Nazwy i typy danych Indeksy, klucze i schematy Architektura baz danych Normalizacja i projektowanie baz danych rodowisko jŒzyka SQL Podstawowe klauzule jŒzyka SQL Podstawowe w‡aciwoci jŒzyka PHP Architektura us‡ug IIS Obs‡uga baz danych Microsoft SQL z poziomu PHP PEAR Znajdziesz tu wszystko, czego potrzebujesz, aby stworzy w‡asn„ profesjonaln„ bazŒ danych!

PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Wydawnictwo Helionul. Ko�ciuszki 1c44-100 Gliwicetel. 032 230 98 63e-mail: [email protected]

PHP, Microsoft IIS i SQLServer. Projektowaniei programowanie baz danychAutor: Andrzej Szel¹gISBN: 978-83-246-1513-1Format: 158x235, stron: 368

Poznaj i wykorzystaj narzêdzia do projektowania baz danych

� Jak konfigurowaæ repozytorium PEAR? � Jak przetwarzaæ formularze za pomoc¹ jêzyka PHP? � Jak wprowadzaæ dane do tabeli bazy danych, a pó�niej je usuwaæ?

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.

� System zarz¹dzania baz¹ danych � Nazwy i typy danych � Indeksy, klucze i schematy � Architektura baz danych � Normalizacja i projektowanie baz danych � �rodowisko jêzyka SQL � Podstawowe klauzule jêzyka SQL � Podstawowe w³a�ciwo�ci jêzyka PHP � Architektura us³ug IIS � Obs³uga baz danych Microsoft SQL z poziomu PHP � PEAR

Znajdziesz tu wszystko, czego potrzebujesz,aby stworzyæ w³asn¹ profesjonaln¹ bazê danych!

Page 2: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Spis tre�ci

Wprowadzenie .................................................................................. 9Kto powinien przeczyta� t� ksi��k�? ..............................................................................10O czym jest ta ksi��ka? ..................................................................................................11Informacje o testowym �rodowisku sieciowym .............................................................13Przyk�ady do ksi��ki .......................................................................................................24

Rozdzia� 1. Podstawy baz danych ..................................................................... 25Czym jest baza danych? ................................................................................................. 25System Zarz�dzania Baz� Danych .................................................................................. 27Podstawowe poj�cia zwi�zane z bazami danych ............................................................ 30

Tabele, kolumny i wiersze danych ........................................................................... 31Nazwy i typy danych ................................................................................................ 36Indeksy, klucze i schematy ....................................................................................... 38

Architektura baz danych ................................................................................................. 43Typy baz danych ............................................................................................................. 46Normalizacja relacyjnej bazy danych ............................................................................. 48Projektowanie relacyjnej bazy danych ............................................................................ 51Tworzenie relacyjnej bazy danych ................................................................................. 56Dodatkowe �ród�a informacji ......................................................................................... 68

Rozdzia� 2. J�zyk SQL ...................................................................................... 69Czym jest SQL? .............................................................................................................. 69rodowisko j�zyka SQL ................................................................................................. 73Podstawowe instrukcje j�zyka SQL ............................................................................... 77Data Definition Language (DDL) ................................................................................... 78

Instrukcja CREATE DATABASE ........................................................................... 79Instrukcja CREATE TABLE .................................................................................... 81Instrukcja CREATE VIEW ...................................................................................... 83Instrukcja CREATE INDEX .................................................................................... 84

Data Manipulation Language (DML) ............................................................................. 85Instrukcja INSERT ................................................................................................... 86Instrukcja SELECT .................................................................................................. 88Instrukcja UPDATE ................................................................................................. 93Instrukcja DELETE .................................................................................................. 95

Data Control Language (DCL) ....................................................................................... 96

Page 3: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Podstawowe klauzule j�zyka SQL .................................................................................. 97Klauzula FROM ............................................................................................................. 97

Klauzula WHERE .................................................................................................... 98Klauzula ORDER BY .............................................................................................. 99Klauzula GROUP BY ............................................................................................ 100Klauzula HAVING ................................................................................................. 101

Dodatkowe �ród�a informacji ....................................................................................... 102

Rozdzia� 3. PHP ............................................................................................. 103Czym jest PHP? ............................................................................................................ 104Podstawowe elementy j�zyka PHP ............................................................................... 114

Zmienne i sta�e ....................................................................................................... 114Wyra�enia i operatory ............................................................................................ 117Struktury kontroluj�ce ............................................................................................ 124Funkcje ................................................................................................................... 129Tablice .................................................................................................................... 131

Podstawowe w�a�ciwo�ci j�zyka PHP .......................................................................... 133Przetwarzanie formularzy ....................................................................................... 133Zapis i odczyt plików ............................................................................................. 138Data i czas .............................................................................................................. 141

Instalowanie PHP w systemie Windows Server 2003 i Windows Vista ....................... 143Pobieranie PHP ...................................................................................................... 144Instalowanie i konfigurowanie PHP w systemie Windows .................................... 146

Dodatkowe �ród�a informacji ....................................................................................... 156

Rozdzia� 4. Microsoft IIS ................................................................................ 157Podstawowe informacje o us�ugach IIS ........................................................................ 158Architektura us�ug IIS .................................................................................................. 160Instalowanie serwera IIS 6.0 w systemie Windows Server 2003 .................................. 165Instalowanie serwera IIS 7.0 w systemie Windows Vista ............................................ 180Rozszerzenia ISAPI i CGI/FastCGI ............................................................................. 184Dodawanie obs�ugi PHP do serwera IIS 6.0 jako rozszerzenia ISAPI .......................... 185Dodawanie obs�ugi PHP do serwera IIS 7.0 jako rozszerzenia ISAPI .......................... 204Dodawanie obs�ugi PHP do serwera IIS 6.0 jako rozszerzenia CGI ................................... 210Dodatkowe �ród�a informacji ....................................................................................... 218

Rozdzia� 5. Microsoft SQL Server ................................................................... 221Microsoft SQL Server 2000 .......................................................................................... 222

Wprowadzenie ........................................................................................................ 222Przygotowanie do instalacji .................................................................................... 223Wymagania sprz�towe i programowe .................................................................... 224Instalowanie bazy danych programu Microsoft SQL Server 2000 ......................... 225Instalowanie dodatku Service Pack 4 dla Microsoft SQL Server 2000 .................. 233

Microsoft SQL Server 2005 .......................................................................................... 238Wprowadzenie ........................................................................................................ 238Przygotowanie do instalacji .................................................................................... 240Wymagania sprz�towe i programowe .................................................................... 241Instalowanie bazy danych programu Microsoft SQL Server 2005 ......................... 241Instalowanie dodatku Service Pack 2 dla Microsoft SQL Server 2005 .................. 257

Logowanie do serwera bazy danych programu Microsoft SQL Server 2005 ............... 264Implementacja relacyjnej bazy danych w programie

Microsoft SQL Server 2005 ................................................................................. 265Dodatkowe �ród�a informacji ....................................................................................... 270

Page 4: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Spis tre�ci 7

Rozdzia� 6. Obs�uga bazy danych Microsoft SQL Server z poziomu PHP ............ 271Aplikacja Obs�uga bazy danych programu Microsoft SQL Server z poziomu

skryptów PHP ............................................................................................................ 272Standardy sieciowe W3C ....................................................................................... 276Oddzielenie struktury, prezentacji i zachowania .................................................... 276Deklaracja typu dokumentu i typu przestrzeni nazw .............................................. 278Deklaracja typu kodowania znaków ....................................................................... 279Deklaracja typu arkusza stylów .............................................................................. 279

Konfigurowanie obs�ugi bazy danych w PHP .............................................................. 281Obs�uga bazy danych z poziomu skryptów PHP .......................................................... 286Podstawowe funkcje PHP obs�uguj�ce baz� danych Microsoft SQL Server ................ 291

Funkcja mssql_connect() ........................................................................................ 292Funkcja mssql_select_db() ..................................................................................... 293Funkcja mssql_query() ........................................................................................... 293Funkcja mssql_num_rows() ................................................................................... 294Funkcja mssql_fetch_array() .................................................................................. 295Funkcja mssql_free_result() ................................................................................... 296Funkcja mssql_close() ............................................................................................ 296Pozosta�e funkcje PHP ........................................................................................... 296

Dost�p do bazy danych Microsoft SQL Server 2005 z poziomu skryptów PHP .......... 297Po��czenie z serwerem bazy danych ...................................................................... 298Po��czenie z relacyjn� baz� danych ........................................................................ 299Wprowadzanie nowych danych do tabeli bazy danych ........................................ 300Wy�wietlanie zawarto�ci tabeli bazy danych ......................................................... 303Uaktualnianie zawarto�ci tabeli bazy danych ......................................................... 305Usuwanie danych z tabeli bazy danych .................................................................. 309Wyszukiwanie danych w tabeli bazy danych ......................................................... 311

Dodatkowe �ród�a informacji ....................................................................................... 314

Rozdzia� 7. PEAR ........................................................................................... 315Czym jest PEAR? ......................................................................................................... 315Instalowanie PEAR DB w systemie Windows ............................................................. 317

Pobieranie repozytorium PEAR ............................................................................. 317Instalowanie repozytorium PEAR .......................................................................... 317Instalowanie modu�u DB ........................................................................................ 321

Obs�uga bazy danych Microsoft SQL Server 2005 z wykorzystaniem modu�uPEAR DB ................................................................................................................... 324

Po��czenie z serwerem bazy ................................................................................... 325Po��czenie z relacyjn� baz� .................................................................................... 327Wprowadzanie nowych danych do tabeli bazy danych .......................................... 328Wy�wietlanie zawarto�ci tabeli bazy danych ......................................................... 332Uaktualnianie zawarto�ci tabeli bazy danych ......................................................... 334Usuwanie danych z tabeli bazy danych .................................................................. 336Wyszukiwanie danych w tabeli bazy danych ......................................................... 338

Dodatkowe �ród�a informacji ....................................................................................... 339

Page 5: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Page 6: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia 6.

Obs"uga bazy danychMicrosoft SQL Serverz 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#zykPHP 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 cychdost#p do wi#kszo$ci popularnych Systemów Zarz dzania Bazami Danych, do którychmo"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 cymiuniwersalny 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 przedstawieniuobs(ugi bazy danych programu Microsoft SQL Server 2005 za pomoc wbudowanychw 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 systemamizarz dzania baz danych.

Page 7: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Dost#p do przyk(adowej relacyjnej bazy danych o nazwie WirtualnySklep zostanieprzedstawiony na przyk(adzie aplikacji internetowej o nazwie Obs/uga bazy danychMicrosoft SQL Server z poziomu skryptów PHP, na któr sk(ada si# kilkana$cieskryptów PHP. Aplikacja ta b#dzie uruchamiana z poziomu przegl darki internetowejklienta 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 danychprogramu Microsoft SQL Serverz 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 Server2005. 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 dotego typu baz danych. Nale"y je raczej traktowa% jako wst#p do projektowania czyprogramowania 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 danychdowolnych 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 SQLServer 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 nazwietKlienci relacyjnej bazy danych,

obejrzenie wyników przygotowanych przez interpreter PHP, przes(anychprzez serwer internetowy i wy$wietlonych w przegl darce internetowej klienta,

zwolnienie zajmowanych zasobów systemu przez wynik zapytaniaoraz po( czenie z serwerem bazy danych.

Wszystkie przyk(ady zawarte w tym i w nast#pnym rozdziale b#d uruchamianew 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 systemuklienckiego 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 tymserwerze zosta(y równie" zainstalowane trzy aplikacje: interpreter PHP w wersji 5.2.5,

Page 8: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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 2005z poziomu skryptów PHP

us(ugi IIS w wersji 6.0 (serwer internetowy) i baza danych programu Microsoft SQLServer 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 dodatkiemService Pack 2. Dost#p do serwera internetowego firmy Microsoft realizowany b#dzieza 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%\Inetpub\wwwroot) powinny znajdowa% si# skrypty PHP, które sk(adaj si#na prost aplikacj# internetow o nazwie Obs/uga bazy danych programu MicrosoftSQL Server z poziomu skryptów PHP. Wszystkie skrypty s dost#pne pod adresemftp://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 kodna listingu 6.1. Aplikacja ta sk(ada si# z kilkunastu przyk(adowych skryptów PHPzawieraj cych kod XHTML, CSS, PHP i tzw. osadzony SQL, który przeznaczony jestg(ównie do manipulowania danymi zawartymi w relacyjnej bazie danych WirtualnySkleppracuj 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#pnympodrozdziale.

Page 9: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 Serverz poziomu skryptów PHP

Listing 6.1. Kod aplikacji internetowej Obs/uga bazy danych programu Microsoft SQL Serverz 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>

Page 10: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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>

Page 11: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 poziomuskryptów PHP jest niezwykle prostym projektem zawieraj cym kilkana$cie skryptówPHP, za pomoc których realizowana jest obs(uga bazy danych programu Microsoft SQLServer 2005 przy wykorzystaniu funkcji bazodanowych dost#pnych w PHP. Skrypty teilustruj 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 nowoczesnychstandardach 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 totechnologie rekomendowane przez mi#dzynarodowe konsorcjum o nazwie W3C (ang.World Wide Web Consortium). Generalnie, aplikacja internetowa o nazwie Obs/uga bazydanych 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$% zprzegl darkami internetowymi i dzia(anie na ró"nych platformach systemowych (Win-dows, Unix itp.). Generalnie mówi c, standardy sieciowe s pot#"nym i profesjonalnymnarz#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 (czyliprezentacji), a j#zyków PHP czy JavaScript — jego zachowania. Koncepcja oddziele-nia sposobu prezentacji (za pomoc plików z rozszerzeniem .css) od zawarto$ci (plikiz 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#zykiskryptowe (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/.

Page 12: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. Obs>uga bazy danych Microsoft SQL Server z poziomu PHP 277

z rozszerzeniem .php. Przyk(adem takiego rozszerzenia jest w(a$nie przedstawionatutaj 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#dzieoddzielona 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#kszychprojektó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 zawieraznaczniki 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% wieleproblemów.

JJzyk znaczników XHTML mo"e zawiera% sformatowane dane tekstowe, obiekty osa-dzone (jak rysunki, filmy, prezentacje itp.). JJzyk prezentacyjny CSS z kolei formatujeposzczególne witryny czy aplikacje internetowe oraz kontroluje rozmieszczenie, u(o"e-nie czy kolor poszczególnych ich elementów. Za$ jJzyk strukturalny PHP czy JavaScriptumo"liwia tworzenie zaawansowanych funkcji witryny czy aplikacji internetowej,a tak"e efektów dzia(aj cych w ró"nych przegl darkach internetowych czy platformachsystemowych (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# projektowanewitryny 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 mechanizmyrozwi 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% czasprojektowania,

projektowa% zaawansowane funkcje interaktywne witryn lub aplikacjiinternetowych, które dzia(aj w ró"nych przegl darkach internetowychi na ró"nych platformach systemowych (Windows, Unix, MacOS itp.),

kontrolowa% rozmieszczenie w przegl darkach internetowych poszczególnychelementó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,

Page 13: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 inneurz dzenia bezprzewodowe.

Deklaracja typu dokumentu i typu przestrzeni nazw

Aplikacja internetowa Obs/uga bazy danych programu Microsoft SQL Server z poziomuskryptów PHP jest projektem, którego struktura zosta(a zbudowana przy u"yciu jed-nego z trzech aktualnie wykorzystywanych standardów sieciowych — XHTML 1.0Transtional, 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 deklaracjM 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ówXHTML, 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 deklaracjM typu dokumentu internetowego.Generalnie j#zyk XHTML pozwala projektantom i programistom tworzy% klika ró"nychtypó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 deklaracjatypu 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 stworzonymw j#zyku znaczników XHTML. Bez poprawnie zdefiniowanej deklaracji DOCTYPE "adnaprzegl darka internetowa nie zweryfikuje kodu znaczników XHTML i stylu CSS.W efekcie pojawi si# problemy, gdy" przegl darka internetowa nie b#dzie potrafi(aobs(u"y%, tj. sprawdzi% i poprawnie wy$wietli%, strony internetowej. Po deklaracjiDOCTYPE znajduje si# deklaracja typu przestrzeni nazw XHTML. Przestrze+ ta jestkolekcj typów elementów i nazw atrybutów skojarzonych z definicj typu dokumentuinternetowego. Deklaracja przestrzeni nazw pozwala zidentyfikowa% swoj przestrze+nazw przez wskazanie jej lokalizacji (http://www.w3.org/1999/xhtml).

Page 14: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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 XHTMLmog(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 programuMicrosoft SQL Server z poziomu skryptów PHP jest to charset=iso-8859-2, zgodniez 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 elementuhttp-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órab%dzie zawiera& znaki niewyst%puj#ce w kodzie ASCI, nale'y u'y& kodowania utf-8zamiast 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), czyli8 bitach (1 B = 8 bitów). Jednym z tych zestawów jest wspomniany ju" wy"ej standardiso-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+ arkuszystylów. Dlaczego? Otó" dlatego, "e przy zastosowaniu zewn#trznych arkuszy stylówotrzymujemy szereg wymiernych korzy$ci, które wynikaj cho%by ze znacznego zmniej-szenia obci "enia serwera internetowego czy ( czy internetowych. Poza tym s oneobs(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).

Page 15: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 jegoprzyk(adowa zawarto$% zosta(a pokazana na rysunku 6.3), jest dokumentem tekstowymzawieraj cym kod CSS w postaci okre$lonych regu( CSS. Mo"e on by% wykorzystanyz powodzeniem na stronie internetowej zgodnej ze standardami sieciowymi. Inaczejmówi c, strona internetowa XHTML mo"e u"ywa% pliku z rozszerzeniem .css (plikuarkusza 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>O 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.

Page 16: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. Obs>uga bazy danych Microsoft SQL Server z poziomu PHP 281

Konfigurowanie obs"ugibazy danych w PHP

Gdy ju" poznali$my podstawowe elementy j#zyków SQL, PHP czy XHTML, a tak"eutworzyli$my relacyjn baz# danych o nazwie WirtualnySklep wraz z poszczególnymijej 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. naobs(udze tabeli bazowej o nazwie tKlienci, która znajduje si# w relacyjnej bazie danycho 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 wszelkiegorodzaju operacje zwi zane z dodawaniem, odczytywaniem, modyfikacj , usuwaniem czywyszukiwaniem 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#pnekroki konfiguracyjne, które zostan opisane w tym podrozdziale. W przypadku j#zykaPHP 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:\PHP5\ext. 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:\PHP5\ext) oraz ntwdblib.dll (znajduj cy si# w lokalizacji C:\PHP5), którydo dzia(ania wymaga wspomnianej biblioteki php_mssql.dll. W przypadku innych bazdanych, np. Oracle Database, niezwykle wa"ny jest plik php_oci8.dll, dla MySQLAB MySQL — php_mysql.dll, z kolei dla bazy danych PostgreSQL Global DevelopmentGroup PostgreSQL — php_pgsql.dll.

Po czystej instalacji bazy danych programu Microsoft SQL Server 2005 oraz dodatkuService 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 zostaniewy$wietlona testowa aplikacja internetowa Obs/uga bazy danych programu MicrosoftSQL Server z poziomu skryptów PHP, której okno g(ówne zosta(o przedstawionewcze$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” — zgodniez tym, co zosta(o pokazane na rysunku 6.5. Termin „pusta strona internetowa” nale"ytutaj 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

Page 17: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Rysunek 6.4.Zawarto>O katalogu

C:\PHP5\ext

z plikami do obs/ugi

róSnych typów

relacyjnych

baz danych

pokazanego na listingu 6.5, który pochodzi z pliku polacz_z_serwerem.php. Plik ten, jakju" wiemy, znajduje si# w katalogu g(ównym serwera internetowego EA-SQL2005,tj. C:\Inetpub\wwwroot. Wy$wietlany jest jedynie statyczny kod strony internetowej,tj. kod HTML. Dlaczego tak si# dzieje? Otó" dzieje si# tak z kilku przedstawionychponi"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 plikuo 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 programuMicrosoft SQL Server 2000 plik ten jest domy$lnie instalowanyw powy"szym katalogu.

Wy( czone jest rozszerzenie php_mssql.dll w sekcji Windows Extensionspliku konfiguracyjnego %SystemRoot%\php.ini, które po domy$lnej instalacjiinterpretera PHP 5.2.5 nie jest aktywne (znak $rednika w linii ;extension= php_mssql.dll, który oznacza komentarz). Jak pami#tamy, polecenia zeznakiem komentarza nie s wczytywane do pami#ci operacyjnej serweracz(onkowskiego podczas uruchamiania interpretera PHP.

Nie zosta(a poprawnie zdefiniowana $cie"ka w dyrektywie extension_dir= "C:\PHP5\ext" pliku konfiguracyjnego %SystemRoot%\php.ini, którapo 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(aw( 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.

Page 18: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. Obs>uga bazy danych Microsoft SQL Server z poziomu PHP 283

Rysunek 6.5. Negatywny wynik testowania po/Mczenia z serwerem bazy danych programu MicrosoftSQL Server 2005 z poziomu skryptu polacz_z_serwerem.php

Listing 6.5. Kod PHP realizujMcy po/Mczenie z serwerem bazy danych programuMicrosoft 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 funkcjapolacz_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 SQLServer 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 bazydanych 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.

Page 19: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 klientaEA-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 komendywydanej z okna Wiersz polecenia: copy C:\PHP5\ntwdblib.dll %SystemRoot%\ system32.

2. Zatrzyma% i ponownie uruchomi% us(ugi IIS 6.0 na serwerze cz(onkowskimEA-SQL2005 — zgodnie z tym, co przedstawia rysunek 6.6 — czyli z poziomukonsoli Mened"er internetowych us(ug informacyjnych (IIS), któr mo"nauruchomi% za pomoc komendy inetmgr (wydanej z poziomu okna dialogowegoUruchamianie) 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/uruchamianieponowne…, które zosta(o przedstawione na rysunku 6.7, nale"y sprawdzi%,czy wybrana jest czynno$% Uruchom ponownie Us/ugi internetowena EA-SQL2005, i klikn % przycisk OK.

Page 20: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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 onkowskimEA-SQL2005 mo'na szybko wykona& za pomoc# nast%puj#cej komendy wierszapolece/: iisreset EA-SQL2005.

4. Sprawdzi% w skryptach PHP, czy zosta(y zdefiniowane poprawnie takiezmienne, jak: nazwa serwera bazy danych Microsoft SQL Server 2005 (EA-SQL2005), nazwa u"ytkownika (sa) i has(o (27aB.#cd75) — zgodnie z tym, coprzedstawia 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 przypadkunawi zywania po( czenia z samym serwerem bazy danych Microsoft SQLServer 2005. Jest za to wr#cz niezb#dna w pozosta(ych skryptach PHP, którenp. operuj na danych zgromadzonych w tabeli bazowej tKlienci.

Listing 6.6. Zmienne wymagane do po/Mczenia z serwerem bazy danych Microsoft SQL Server 2005i bazM 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/M-czono siJ z serwerem bazy danych. Je"eli tak si# stanie, to mo"emy za(o"y%, "e odt dmo"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

Page 21: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Rysunek 6.8. Pozytywny wynik testowania po/Mczenia z serwerem bazy danych programuMicrosoft 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 bazydanych programu Microsoft SQL Server 2005 z poziomu aplikacji internetowej Ob-s/uga bazy danych programu Microsoft SQL Server z poziomu skryptów PHP, któraznajduje 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 Server2005 z poziomu skryptu PHP o nazwie polacz_z_serwerem.php nale"y sprawdzi% usta-wienia w pliku konfiguracyjnym w katalogu %SystemRoot%\php.ini. Najwa"niejszeustawienia zosta(y zaprezentowane w podrozdziale „Instalowanie i konfigurowanie PHPw systemie Windows” niniejszej ksi "ki.

Obs"uga bazy danychz poziomu skryptów PHP

Obs(ug# relacyjnej bazy danych o nazwie WirtualnySklep znajduj cej si# na serwerzebazy danych Microsoft SQL Server 2005 o nazwie EA-SQL2005 (z poziomu skryptuPHP, 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 SQLServer 2005 o nazwie EA-SQL2005.

Page 22: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. Obs>uga bazy danych Microsoft SQL Server z poziomu PHP 287

Przyk(adowy kod PHP zosta( przedstawiony na listingu 6.7. Istotne elementy kodu PHPzosta(y zaznaczone tekstem pogrubionym.

Listing 6.7. NawiMzanie po/Mczenia z serwerem bazy danych programu Microsoft SQL Server 2005o 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 moMna poNOczyP siQ 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 2005o 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. NawiMzanie po/Mczenia z relacyjnM bazM 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 movna po/\czy{ si| z serwerem bazy danych!<br /><br />");

$polacz_z_baza = @mssql_select_db($bazaDanych, $polacz_z_serwerem) or die("[-] Nie moMna poNOczyP siQ z bazO danych!<br /><br />");

/* kod skryptu PHP */?>

Page 23: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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

Krok 3. Wys(anie zapytania SQL do tabeli bazowej tKlienci relacyjnej bazy danychWirtualnySklep programu Microsoft SQL Server 2005 o nazwie EA-SQL2005.

Przyk(adowy kod zosta( przedstawiony na listingu 6.9. Jego istotne elementy zosta(yzaznaczone 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 statycznejtabeli 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 powiodNo siQ!<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>ImiQ</th> <th>Ulica</th> <th>Kod poczt.</th> <th>MiejscowojP</th> <th>Województwo</th> <th>Telefon</th> <th>Email</th>";

Page 24: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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 2005o nazwie EA-SQL2005 (g(ównie jego pami#ci operacyjnej RAM) przez zmienne $wyniki $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 zajJtych zasobów serwera bazy danych Microsoft SQL Server 2005o nazwie EA-SQL2005 i zamkniJcie po/Mczenia 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 nazwieselect.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 danychMicrosoft SQL Server 2005 o nazwie EA-SQL2005, na którym znajduje si# relacyjnabaza danych o nazwie WirtualnySklep — przy u"yciu funkcji wewn#trznej PHPmssql_connect(), której podstawowymi parametrami s :

Page 25: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

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 odpowiednieuprawnienia 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 nazwiemssql_connect() b#dzie identyfikator po( czenia (np. Resource id #1), który jest prze-chowywany w zmiennej o nazwie $polacz_z_serwerem. W przypadku jakichkolwiekproblemó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 moSnapo/MczyO siJ z serwerem bazy danych!.

Krok 3. Po poprawnym zestawieniu po( czenia z serwerem bazy danych MicrosoftSQL 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 siJ!), 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 tworzytablic# o nazwie $wiersz dla ka"dego rekordu wynikowego. Wiersze s podstawianedo tablicy dopóty, dopóki warto$ci ca(ego wyra"enia nie b#dzie warto$% False. Ma tomiejsce wówczas, gdy nie ma ju" wi#cej wierszy do przetworzenia. Wtedy p#tla whileko+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 RAMserwera cz(onkowskiego o nazwie EA-SQL2005) — przy wykorzystaniu funkcji wbu-dowanej PHP o nazwie mssql_free_result(), oraz zamkni#cie po( czenia z serwerembazy 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# automatyczniezamykane po zako/czeniu dzia ania tego skryptu. Niemniej jednak dobrym nawykiemprogramistycznym jest, aby zwalnia& zajmowane przez zmienne zasoby oraz zamyka&otwarte po #czenia z relacyjn# baz# danych.

Page 26: PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie …pdf.helion.pl/phiisq/phiisq-6.pdf · 2008. 6. 12. · Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032

Rozdzia> 6. 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 operacyjnegoMicrosoft Windows Vista Business, zosta( pokazany na rysunku 6.9. Jak wida% natym 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óraznajduje 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<cebaz= danych Microsoft SQL Server

Jak ju" wspomniano na pocz tku niniejszego rozdzia(u, interpreter j#zyka skryptowegoPHP w wersji 5.2.5 posiada wbudowan obs(ug# ró"nych typów baz danych (w tymbazy 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(ugiwanychz poziomu skryptów PHP.

W niniejszej ksi "ce zostan opisane wybrane funkcje j#zyka PHP, za pomoc którychmo"liwy jest dost#p z poziomu kodu PHP do bazy danych programu Microsoft SQLServer 2005.