Wyczerpujące omówienie najpopularniejszego środowiska do tworzenia dynamicznych witryn WWW
Poznaj zasady programowania w PHP5 i w pełni wykorzystaj jego nowe możliwości
Zastosuj bazę danych jako zaplecze dla stron WWW
Zaprojektuj i stwórz dynamiczną witrynę WWW za pomocą PHP i MySQL
O PHP i MySQL słyszał już chyba każdy, kto zajmuje się projektowaniem witryn WWW. Skrypty napisane w języku PHP i korzystające z bazy danych MySQL 'napędzają' tysiące dynamicznych stron WWW -- sklepów, portali oraz aplikacji e-commerce. Duet PHP i MySQL to stabilne, wydajne i proste do opanowania środowisko o ogromnych możliwościach. Dostępne są nieodpłatnie, co jest jednym z głównych powodów ich popularności. Za ich pomocą można stworzyć zarówno proste wiadomości na stronie WWW, jak i rozbudowane systemy autoryzacji użytkowników, płatności elektronicznych, galerii i wiele innych aplikacji internetowych.
'PHP5 i MySQL. Biblia' to kompleksowe omówienie zagadnień związanych z tworzeniem witryn WWW z wykorzystaniem tych technologii. Przedstawia zasady programowania w języku PHP5 z uwzględnieniem reguł projektowania obiektowego. Opisuje bazę danych MySQL, język SQL oraz sposoby połączenia skryptów PHP z tabelami w bazie danych. Czytając ją, nauczysz się osadzać kod PHP w dokumentach HTML, korzystać z mechanizmów obsługi sesji oraz języka XML, korzystać z innych baz danych oraz zabezpieczać witryny WWW stworzone za pomocą PHP. Dowiesz się, jak zaimplementować obsługę wyjątków oraz jak usuwać błędy z kodu źródłowego. Napiszesz skrypty stanowiące komponenty rozbudowanego dynamicznego serwisu WWW, które z powodzeniem będziesz mógł wykorzystać w wielu swoich projektach.
Typy danych, zmienne, polecenia i funkcje w PHP
Operacje na tekstach, wartościach liczbowych i tablicach
Administrowanie bazą MySQL
Łączenie skryptów PHP z bazą danych
Tworzenie elementów generowanych dynamicznie
Programowanie obiektowe w PHP
Mechanizmy obsługi sesji i plików cookie
Korzystanie z biblioteki PEAR
Obsługa wyjątków i usuwanie błędów z kodów źródłowych
Korzystanie z baz danych PostgreSQL oraz Oracle
Łączenie PHP z JavaScript i Javą
Przetwarzanie plików XML i tworzenie usług sieciowych
Generowanie grafiki za pomocą PHP
Uwierzytelnianie użytkowników
W tej książce znajdziesz wszystko, czego potrzebujesz aby w pełni wykorzystać możliwości PHP i MySQL.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
O NOWOŒCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
PHP i MySQL. Biblia
Autorzy: Tim Converse, Joyce Park, Clark Morgan
T³umaczenie: Robert Górczyñski, Daniel Kaczmarek,
Maja Królikowska, Marek Pa³czyñski
ISBN: 83-7361-940-2
Tytu³ orygina³u: PHP5 and MySQL Bible
Format: B5, stron: 1080
Wyczerpuj¹ce omówienie najpopularniejszego œrodowiska
do tworzenia dynamicznych witryn WWW
(cid:127) Poznaj zasady programowania w PHP5 i w pe³ni wykorzystaj jego nowe mo¿liwoœci
(cid:129) Zastosuj bazê danych jako zaplecze dla stron WWW
(cid:129) Zaprojektuj i stwórz dynamiczn¹ witrynê WWW za pomoc¹ PHP i MySQL
O PHP i MySQL s³ysza³ ju¿ chyba ka¿dy, kto zajmuje siê projektowaniem witryn WWW.
Skrypty napisane w jêzyku PHP i korzystaj¹ce z bazy danych MySQL „napêdzaj¹”
tysi¹ce dynamicznych stron WWW — sklepów, portali oraz aplikacji e-commerce.
Duet PHP i MySQL to stabilne, wydajne i proste do opanowania œrodowisko
o ogromnych mo¿liwoœciach. Dostêpne s¹ nieodp³atnie, co jest jednym z g³ównych
powodów ich popularnoœci. Za ich pomoc¹ mo¿na stworzyæ zarówno proste
wiadomoœci na stronie WWW, jak i rozbudowane systemy autoryzacji u¿ytkowników,
p³atnoœci elektronicznych, galerii i wiele innych aplikacji internetowych.
„PHP5 i MySQL. Biblia” to kompleksowe omówienie zagadnieñ zwi¹zanych
z tworzeniem witryn WWW z wykorzystaniem tych technologii. Przedstawia zasady
programowania w jêzyku PHP5 z uwzglêdnieniem regu³ projektowania obiektowego.
Opisuje bazê danych MySQL, jêzyk SQL oraz sposoby po³¹czenia skryptów PHP
z tabelami w bazie danych. Czytaj¹c j¹, nauczysz siê osadzaæ kod PHP w dokumentach
HTML, korzystaæ z mechanizmów obs³ugi sesji oraz jêzyka XML, korzystaæ z innych baz
danych oraz zabezpieczaæ witryny WWW stworzone za pomoc¹ PHP. Dowiesz siê,
jak zaimplementowaæ obs³ugê wyj¹tków oraz jak usuwaæ b³êdy z kodu Ÿród³owego.
(cid:129) Typy danych, zmienne, polecenia i funkcje w PHP
(cid:129) Operacje na tekstach, wartoœciach liczbowych i tablicach
(cid:129) Administrowanie baz¹ MySQL
(cid:129) £¹czenie skryptów PHP z baz¹ danych
(cid:129) Tworzenie elementów generowanych dynamicznie
(cid:129) Programowanie obiektowe w PHP
(cid:129) Mechanizmy obs³ugi sesji i plików cookie
(cid:129) Korzystanie z biblioteki PEAR
(cid:129) Obs³uga wyj¹tków i usuwanie b³êdów z kodów Ÿród³owych
(cid:129) Korzystanie z baz danych PostgreSQL oraz Oracle
(cid:129) £¹czenie PHP z JavaScript i Jav¹
(cid:129) Przetwarzanie plików XML i tworzenie us³ug sieciowych
(cid:129) Generowanie grafiki za pomoc¹ PHP
(cid:129) Uwierzytelnianie u¿ytkowników
W tej ksi¹¿ce znajdziesz wszystko, czego potrzebujesz
aby w pe³ni wykorzystaæ mo¿liwoœci PHP i MySQL
Spis treści
O autorach .......................................................................................................27
Przedmowa ......................................................................................................29
Część I Podstawy PHP ................................................................... 35
Rozdział 1. Dlaczego PHP i MySQL? ..................................................................37
Co to jest PHP? ...................................................................................................................................37
Co to jest MySQL? .............................................................................................................................38
Historia PHP .......................................................................................................................................39
Historia MySQL .................................................................................................................................40
Dlaczego kochamy PHP? ...................................................................................................................40
Koszt ............................................................................................................................................41
PHP jest łatwy ..............................................................................................................................43
PHP można wbudować .................................................................................................................44
PHP jest niezależny od platformy ................................................................................................46
PHP nie bazuje na znacznikach ....................................................................................................46
PHP jest stabilny ..........................................................................................................................46
PHP jest szybki ............................................................................................................................47
PHP jest otwarty ...........................................................................................................................48
PHP dobrze współpracuje z innymi produktami ..........................................................................49
Szybki rozwój języka ...................................................................................................................50
Popularność PHP rośnie ...............................................................................................................50
PHP nie jest niczyją własnością ...................................................................................................51
Społeczność PHP .......................................................................................................................... 52
Podsumowanie ....................................................................................................................................53
Rozdział 2. Skrypty wykonywane na serwerze WWW ...................................55
Statyczny HTML ................................................................................................................................55
Technologie wykonywane po stronie klienta .......................................................................................58
Skrypty wykonywane na serwerze .....................................................................................................62
Do czego przydają się skrypty serwera ...............................................................................................67
Podsumowanie ....................................................................................................................................68
Rozdział 3. Rozpoczynamy pracę z PHP ..........................................................69
Dzierżawa lub własny serwer .............................................................................................................69
Wariant z dostawcą Internetu .......................................................................................................69
Własny serwer — wady i zalety ................................................................................................... 73
Rozwiązania pośrednie .................................................................................................................73
8
PHP5 i MySQL. Biblia
Instalowanie PHP ...............................................................................................................................74
Zanim zaczniesz ...........................................................................................................................74
Procedura instalacji ......................................................................................................................76
Narzędzia programistyczne .......................................................................................................... 83
Podsumowanie ....................................................................................................................................87
Rozdział 4. Dodajemy PHP do HTML ................................................................89
HTML jest gotowy na PHP ................................................................................................................89
Przełączanie się z HTML do PHP ......................................................................................................89
Kanoniczne znaczniki PHP ..........................................................................................................90
Krótkie znaczniki otwierające (w stylu SGML) ...........................................................................90
Witaj świecie ................................................................................................................................91
Wejście w tryb PHP i wyjście z niego ..........................................................................................92
Dołączanie plików ........................................................................................................................93
Podsumowanie ....................................................................................................................................95
Rozdział 5. Składnia i zmienne ........................................................................97
PHP wiele wybacza ............................................................................................................................97
HTML to nie PHP ..............................................................................................................................98
Składnia PHP bazuje na C ..................................................................................................................98
PHP nie przejmuje się odstępami .................................................................................................98
PHP jest czasami wrażliwy na wielkość liter ...............................................................................98
Instrukcje to wyrażenia zakończone średnikiem ..........................................................................99
Bloki ........................................................................................................................................... 102
Komentarze ...................................................................................................................................... 102
Komentarze wielowierszowe w stylu C ..................................................................................... 103
Komentarze jednowierszowe: # i // ............................................................................................ 103
Zmienne ............................................................................................................................................ 103
PHP przyjął styl zmiennych Perl ................................................................................................ 104
Deklarowanie zmiennych ........................................................................................................... 104
Przypisywanie zmiennym wartości ............................................................................................ 104
Zmiana wartości zmiennych ....................................................................................................... 105
Nieprzypisane zmienne .............................................................................................................. 105
Zasięg zmiennych ....................................................................................................................... 106
Możesz dowolnie zmieniać tryby pracy ..................................................................................... 107
Stałe ............................................................................................................................................ 108
Typy w PHP nie są źródłem zmartwień ............................................................................................ 108
Brak deklaracji typów zmiennych .............................................................................................. 109
Automatyczna konwersja typów ................................................................................................ 109
Typy nadawane poprzez kontekst .............................................................................................. 109
Typy w PHP ..................................................................................................................................... 109
Typy proste ....................................................................................................................................... 110
Integer ........................................................................................................................................ 110
Double ........................................................................................................................................ 111
Boolean ...................................................................................................................................... 113
NULL ......................................................................................................................................... 114
String .......................................................................................................................................... 115
Wyjście ............................................................................................................................................. 119
Echo i print ................................................................................................................................. 119
Zmienne i ciągi ........................................................................................................................... 120
Podsumowanie .................................................................................................................................. 121
Spis treści
9
Rozdział 6. Sterowanie i funkcje ..................................................................123
Wyrażenia logiczne .......................................................................................................................... 124
Stałe logiczne ............................................................................................................................. 124
Operatory logiczne ..................................................................................................................... 124
Operatory porównania ................................................................................................................ 126
Operator trójskładnikowy ........................................................................................................... 128
Instrukcje warunkowe ...................................................................................................................... 129
If-else ......................................................................................................................................... 129
Switch ........................................................................................................................................ 133
Pętle .................................................................................................................................................. 134
Pętle ograniczone i nieograniczone ............................................................................................ 134
While .......................................................................................................................................... 134
Do-while ..................................................................................................................................... 135
For .............................................................................................................................................. 136
Przykłady pętli ........................................................................................................................... 137
Break i continue ......................................................................................................................... 140
Pętle nieskończone ..................................................................................................................... 141
Składnia alternatywna ...................................................................................................................... 142
Przerywanie wykonania .................................................................................................................... 142
Użycie funkcji .................................................................................................................................. 145
Zwracane wartości a efekty uboczne .......................................................................................... 145
Dokumentacja funkcji ...................................................................................................................... 146
Nagłówki w dokumentacji .......................................................................................................... 147
Szukanie opisu funkcji ............................................................................................................... 147
Definiowanie własnych funkcji ........................................................................................................ 148
Czym jest funkcja? ..................................................................................................................... 148
Składnia definicji funkcji ........................................................................................................... 148
Przykład definicji funkcji ........................................................................................................... 149
Parametry formalne i parametry aktualne ................................................................................... 150
Nieprawidłowa liczba argumentów ............................................................................................ 151
Funkcje a zasięg zmiennych ............................................................................................................. 152
Zmienne globalne i lokalne ........................................................................................................ 153
Zmienne statyczne ...................................................................................................................... 154
Wyjątki ....................................................................................................................................... 155
Zasięg funkcji ................................................................................................................................... 156
Include oraz require .................................................................................................................... 157
Rekurencja ................................................................................................................................. 158
Podsumowanie .................................................................................................................................. 160
Rozdział 7. Przekazywanie danych pomiędzy stronami .............................161
HTTP jest protokołem bezstanowym ............................................................................................... 161
Argumenty GET ............................................................................................................................... 162
Inne zastosowania adresów URL w stylu GET ................................................................................ 164
Argumenty POST ............................................................................................................................. 166
Formatowanie zmiennych formularza .............................................................................................. 167
Konsolidacja formularzy i obsługujących je kodów ................................................................... 170
Używanie zmiennych tablicowych w połączeniu z formularzami .............................................. 171
Tablice superglobalne PHP .............................................................................................................. 174
Rozszerzony przykład: kalkulator do ćwiczeń .................................................................................. 176
Podsumowanie .................................................................................................................................. 178
10
PHP5 i MySQL. Biblia
Rozdział 8. Ciągi .............................................................................................179
Ciągi w PHP ..................................................................................................................................... 179
Dołączanie ciągów przy użyciu nawiasów klamrowych ............................................................ 180
Znaki i indeksy ciągu ................................................................................................................. 181
Operatory dla ciągów ................................................................................................................. 181
Złączenie i przypisanie ............................................................................................................... 182
Składnia heredoc ........................................................................................................................ 182
Funkcje operujące na ciągach ........................................................................................................... 183
Sprawdzanie ciągów ................................................................................................................... 184
Szukanie znaków i podciągów ................................................................................................... 184
Porównywanie i przeszukiwanie ................................................................................................ 185
Przeszukiwanie ........................................................................................................................... 186
Wycinanie podciągu ................................................................................................................... 187
Funkcje porządkujące ................................................................................................................. 188
Zastępowanie ciągów ................................................................................................................. 189
Funkcje zmiany wielkości liter ................................................................................................... 191
Funkcje znaków sterujących ....................................................................................................... 192
Formatowanie danych ................................................................................................................ 193
Rozszerzony przykład: kalkulator do ćwiczeń ................................................................................... 195
Podsumowanie .................................................................................................................................. 198
Rozdział 9. Tablice i funkcje operujące na tablicach ...................................199
Użycie tablic ..................................................................................................................................... 199
Czym są tablice PHP? ...................................................................................................................... 200
Tworzenie tablic ............................................................................................................................... 202
Bezpośrednie przypisanie ........................................................................................................... 202
Konstrukcja array() .................................................................................................................... 202
Podawanie indeksów przy użyciu array() ................................................................................... 203
Funkcje zwracające tablice ......................................................................................................... 203
Odczytywanie wartości ..................................................................................................................... 204
Odczytywanie przy użyciu indeksu ............................................................................................ 204
Konstrukcja list() ........................................................................................................................ 204
Tablice wielowymiarowe ................................................................................................................. 205
Informacje o tablicach ...................................................................................................................... 206
Usuwanie z tablicy ........................................................................................................................... 207
Iteracje .............................................................................................................................................. 207
Obsługa iteracji .......................................................................................................................... 208
Użycie funkcji iteracyjnych ........................................................................................................ 209
Nasza ulubiona metoda iteracji: foreach ..................................................................................... 209
Iteracje za pomocą current() i next() .......................................................................................... 211
Powtórne przeglądanie za pomocą reset() .................................................................................. 212
Wypisywanie w odwrotnym porządku za pomocą end() i prev() ............................................... 213
Pobieranie wartości kluczy za pomocą key() ............................................................................. 213
Wartości puste i funkcja each() .................................................................................................. 214
Przeglądanie tablicy za pomocą array_walk() ............................................................................ 215
Rozszerzony przykład: kalkulator do ćwiczeń ................................................................................... 216
Podsumowanie .................................................................................................................................. 229
Spis treści
11
Rozdział 10. Liczby .........................................................................................231
Typy numeryczne ............................................................................................................................. 231
Operatory matematyczne .................................................................................................................. 232
Operatory arytmetyczne ............................................................................................................. 232
Operatory arytmetyczne i typy ................................................................................................... 232
Operator inkrementacji ............................................................................................................... 233
Operator przypisania .................................................................................................................. 234
Operatory porównania ................................................................................................................ 234
Kolejność operacji i nawiasy ...................................................................................................... 235
Proste funkcje matematyczne ........................................................................................................... 236
Liczby losowe ................................................................................................................................... 236
Inicjowanie generatora ............................................................................................................... 237
Przykład: losowy wybór ............................................................................................................. 238
Rozszerzony przykład: kalkulator do ćwiczeń ................................................................................... 240
Podsumowanie .................................................................................................................................. 245
Rozdział 11. Podstawowe pułapki PHP .........................................................247
Problemy związane z instalacją ........................................................................................................ 247
Źródło pliku wyświetlane w przeglądarce .................................................................................. 248
Blok PHP pokazuje się jako tekst lub przeglądarka chce zapisać plik ....................................... 248
Nieodnaleziony serwer lub niemożliwe wyświetlenie strony ....................................................... 248
Problemy z wyświetlaniem ............................................................................................................... 248
Całkowicie pusta strona .............................................................................................................. 249
Dokument nie zawiera żadnych danych ..................................................................................... 249
Niekompletna lub nieprawidłowa strona .................................................................................... 250
Kod PHP pokazuje się w przeglądarce ....................................................................................... 253
Niepowodzenie przy ładowaniu strony ............................................................................................. 254
Nieodnaleziona strona ................................................................................................................ 254
Nieudane otwarcie pliku do włączenia ....................................................................................... 254
Błędy analizy składni ....................................................................................................................... 254
Komunikat błędu składni ............................................................................................................ 254
Brakujący średnik ....................................................................................................................... 255
Brak znaku $ .............................................................................................................................. 255
Nieprawidłowa zmiana trybu ..................................................................................................... 256
Nieoznaczone apostrofy ............................................................................................................. 257
Niezakończone ciągi znaków ..................................................................................................... 257
Inne błędy składni ...................................................................................................................... 258
Uprawnienia do plików .................................................................................................................... 258
Błąd HTTP nr 403 ...................................................................................................................... 258
Brak dołączanych plików ................................................................................................................. 259
Ostrzeżenie przy włączaniu pliku ............................................................................................... 259
Nieprzypisane zmienne ..................................................................................................................... 260
Zmienna nie pokazuje się w wynikowym ciągu ......................................................................... 260
Zmienna liczbowa nieoczekiwanie przyjmuje wartość zero ....................................................... 260
Jak zachowują się niezainicjowane zmienne .............................................................................. 260
Nadpisane zmienne ........................................................................................................................... 262
Zmienna ma poprawną wartość, ale nie taką, jakiej oczekiwałeś ............................................... 262
Problemy z funkcjami ....................................................................................................................... 263
Wywołanie niezdefiniowanej funkcji moja_funkcja() ................................................................ 263
Wywołanie niezdefiniowanej funkcji ......................................................................................... 264
Wywołanie niezdefiniowanej funkcji array() ............................................................................. 264
12
PHP5 i MySQL. Biblia
Nie można ponownie zadeklarować funkcji ............................................................................... 264
Nieprawidłowa liczba argumentów ............................................................................................ 265
Błędy matematyczne ........................................................................................................................ 265
Ostrzeżenie o dzieleniu przez zero ............................................................................................. 265
Niespodziewane wyniki działań ................................................................................................. 265
NaN (lub NAN) .......................................................................................................................... 265
Przekroczenie czasu oczekiwania ..................................................................................................... 266
Podsumowanie .................................................................................................................................. 267
Część II PHP i bazy danych ......................................................... 271
Rozdział 12. Wybór bazy danych dla PHP .....................................................273
Czym jest baza danych? ................................................................................................................... 273
Dlaczego używamy baz danych? ...................................................................................................... 274
Utrzymanie i skalowalność ........................................................................................................ 274
Przenośność ................................................................................................................................ 274
Unikanie nudnego programowania ............................................................................................. 274
Szukanie ..................................................................................................................................... 275
Bezpieczeństwo .......................................................................................................................... 275
Architektura wielowarstwowa .................................................................................................... 275
Potencjalna wada: wydajność ..................................................................................................... 276
Wybór bazy danych .......................................................................................................................... 276
Możesz nie mieć wyboru ............................................................................................................ 276
Plikowe, relacyjne i obiektowo-relacyjne bazy danych .............................................................. 277
ODBC/JDBC kontra własne API ............................................................................................... 278
Zmiana bazy danych ................................................................................................................... 278
Przegląd zaawansowanych funkcji ................................................................................................... 279
GUI ............................................................................................................................................ 279
Podzapytania .............................................................................................................................. 279
Zapytanie SELECT INTO .......................................................................................................... 279
Złożone złączenia ....................................................................................................................... 280
Wielowątkowość i blokowanie ................................................................................................... 280
Transakcje .................................................................................................................................. 280
Procedury i wyzwalacze ............................................................................................................. 281
Indeksy ....................................................................................................................................... 281
Klucze obce i więzy integralności .............................................................................................. 282
Replikacja bazy danych .............................................................................................................. 282
Bazy danych obsługiwane przez PHP .............................................................................................. 282
Warstwa abstrakcji bazy danych (lub jej brak) ..................................................................................... 284
Wybieramy MySQL ......................................................................................................................... 285
Podsumowanie .................................................................................................................................. 286
Rozdział 13. Samouczek SQL ..........................................................................287
Relacyjne bazy danych i SQL ........................................................................................................... 287
Standardy SQL ................................................................................................................................. 288
Podstawowe wyrażenia SQL ............................................................................................................ 288
SELECT ..................................................................................................................................... 289
INSERT ...................................................................................................................................... 293
UPDATE .................................................................................................................................... 294
DELETE ..................................................................................................................................... 294
Projekt bazy danych ......................................................................................................................... 294
Spis treści
13
Bezpieczeństwo i uprawnienia ......................................................................................................... 297
Ustawianie uprawnień ................................................................................................................ 297
Przechowywanie haseł w innym miejscu ................................................................................... 298
Użycie dwóch warstw ochrony haseł ......................................................................................... 299
Tworzenie kopii bezpieczeństwa ................................................................................................ 300
Podsumowanie .................................................................................................................................. 300
Rozdział 14. Administracja bazą danych MySQL ...........................................303
Licencje MySQL .............................................................................................................................. 304
Instalowanie MySQL — przejście do wersji 4. ................................................................................ 305
Czynności przed instalacją ......................................................................................................... 305
Pobieranie MySQL ..................................................................................................................... 307
Instalowanie MySQL w Windows ............................................................................................. 307
Instalowanie MySQL w systemie Unix ...................................................................................... 308
Instalowanie MySQL w systemie Mac OS X ............................................................................. 309
Czynności poinstalacyjne ........................................................................................................... 309
Podstawowe komendy klienta MySQL ...................................................................................... 310
Administracja użytkownika MySQL ................................................................................................ 311
Programowanie lokalne .............................................................................................................. 314
Samodzielna strona internetowa ................................................................................................. 314
Współdzielone utrzymywanie stron internetowych .................................................................... 315
PHPMyAdmin .................................................................................................................................. 315
Kopie zapasowe ................................................................................................................................ 319
Powielanie ........................................................................................................................................ 320
Odzyskiwanie ................................................................................................................................... 323
myisamchk ................................................................................................................................. 324
mysqlcheck ................................................................................................................................. 325
Podsumowanie .................................................................................................................................. 325
Rozdział 15. Funkcje PHP i MySQL .................................................................327
Łączenie z MySQL ........................................................................................................................... 328
Tworzenie zapytań w MySQL .......................................................................................................... 329
Pobieranie wyniku ............................................................................................................................ 330
Pobieranie opisu danych ................................................................................................................... 333
Korzystanie z wielokrotnych połączeń ............................................................................................. 334
Kontrola błędów ............................................................................................................................... 335
Tworzenie baz danych MySQL za pomocą PHP .............................................................................. 337
Typy danych MySQL ................................................................................................................. 338
Funkcje MySQL ............................................................................................................................... 340
Podsumowanie .................................................................................................................................. 342
Rozdział 16. Wyświetlanie zapytań w tabelach ...........................................345
Tabele HTML i tabele bazy danych ................................................................................................. 346
Przekształcenie jeden w jeden .................................................................................................... 346
Przykład: wyświetlanie jednej tabeli .......................................................................................... 346
Przykładowe tabele .................................................................................................................... 348
Ulepszanie wyświetlania ............................................................................................................ 349
Złożone odwzorowania ..................................................................................................................... 352
Wiele zapytań albo skomplikowane wyświetlanie ..................................................................... 352
Użycie kilku zapytań .................................................................................................................. 353
Przykład skomplikowanego wyświetlania .................................................................................. 355
Tworzenie przykładowych tabel ....................................................................................................... 356
Podsumowanie .................................................................................................................................. 358
14
PHP5 i MySQL. Biblia
Rozdział 17. Tworzenie formularzy z zapytań .............................................359
Formularze HTML ........................................................................................................................... 359
Podstawowy formularz zatwierdzania danych do bazy danych ........................................................ 360
Samoprzetwarzanie ........................................................................................................................... 362
Edytowanie danych w formularzu HTML ........................................................................................ 369
TEXT i TEXTAREA ................................................................................................................. 369
CHECKBOX .............................................................................................................................. 371
RADIO ....................................................................................................................................... 373
SELECT ..................................................................................................................................... 377
Podsumowanie .................................................................................................................................. 379
Rozdział 18. Efektywność PHP i MySQL .........................................................381
Połączenia — ograniczanie i powtórne użycie ................................................................................. 381
Przykład nieprawidłowego użycia: jedno połączenie na wyrażenie ........................................... 382
Kilka wyników nie wymaga kilku połączeń ............................................................................... 383
Trwałe połączenia ...................................................................................................................... 383
Indeksy i projekt tabel ...................................................................................................................... 384
Indeksowanie .............................................................................................................................. 384
Indeksowanie wszystkich pól ..................................................................................................... 387
Inne rodzaje indeksów ................................................................................................................ 388
Projekt tabeli .............................................................................................................................. 390
Przenoszenie pracy na serwer bazy danych ...................................................................................... 390
Baza jest szybsza od Ciebie ........................................................................................................ 391
Przykład nieprawidłowego użycia: pętla zamiast warunku ........................................................ 391
Tworzenie pól daty i czasu ......................................................................................................... 393
Szukanie ostatnio wstawionego wiersza ..................................................................................... 394
Podsumowanie .................................................................................................................................. 395
Rozdział 19. Pułapki tandemu PHP-MySQL ....................................................397
Brak połączenia ................................................................................................................................ 397
Problemy z uprawnieniami ............................................................................................................... 399
Nieoznaczone apostrofy ................................................................................................................... 401
Nieprawidłowe zapytania SQL ......................................................................................................... 403
Pomyłki w nazwach ................................................................................................................... 405
Pomyłki przy przecinkach .......................................................................................................... 405
Ciągi nieotoczone apostrofami ................................................................................................... 405
Niezainicjowane zmienne ........................................................................................................... 406
Zbyt mało danych, zbyt dużo danych ............................................................................................... 406
Funkcje języka SQL ......................................................................................................................... 407
mysql_affected_rows() kontra mysql_num_rows() .................................................................... 407
mysql_result() ............................................................................................................................ 408
OCIFetch() ................................................................................................................................. 408
Kontrola poprawności ...................................................................................................................... 408
Podsumowanie .................................................................................................................................. 409
Część III Zaawansowane funkcje i techniki ............................... 411
Rozdział 20. Programowanie zorientowane obiektowo w PHP ..................413
Co to jest programowanie zorientowane obiektowo? ....................................................................... 414
Prosty pomysł ............................................................................................................................. 414
Opracowanie: obiekty jako typy danych .................................................................................... 416
Opracowanie: dziedziczenie ....................................................................................................... 416
Spis treści
15
Opracowanie: enkapsulacja ........................................................................................................ 417
Opracowanie: konstruktory i destruktory ................................................................................... 418
Terminologia .............................................................................................................................. 418
Podstawowe konstrukcje PHP dla OOP ........................................................................................... 420
Definiowanie klas ....................................................................................................................... 420
Dostęp do zmiennych składowych ............................................................................................. 421
Tworzenie egzemplarzy ............................................................................................................. 421
Funkcje konstruktora .................................................................................................................. 422
Dziedziczenie ............................................................................................................................. 423
Nadpisywanie funkcji ................................................................................................................. 424
Połączone podklasy .................................................................................................................... 424
Modyfikowanie i przypisywanie obiektów ................................................................................ 426
Kwestie zasięgu .......................................................................................................................... 426
Zaawansowane funkcje OOP ............................................................................................................ 427
Elementy publiczne, prywatne i chronione ................................................................................ 427
Interfejsy .................................................................................................................................... 429
Stałe ............................................................................................................................................ 429
Klasy abstrakcyjne ..................................................................................................................... 429
Symulowanie funkcji klas .......................................................................................................... 430
Wywoływanie funkcji rodzica .................................................................................................... 431
Automatyczne wywołanie konstruktorów rodzica ...................................................................... 432
Symulowanie metod przeciążenia .............................................................................................. 433
Serializacja ................................................................................................................................. 434
Funkcje introspekcji ......................................................................................................................... 436
Przegląd funkcji ......................................................................................................................... 437
Przykład: genealogia klas ........................................................................................................... 439
Przykład: dopasowywanie zmiennych i kolumn bazy danych ...................................................... 442
Przykład: uogólniony test metod ................................................................................................ 444
Rozszerzony przykład: formularze HTML ....................................................................................... 447
Rozwiązywanie problemów ............................................................................................................. 452
Symptom: zmienna składowa nie ma wartości w funkcji składowej .......................................... 452
Symptom: błąd analizatora składni, oczekuję T_VARIABLE … .............................................. 452
Style OOP w PHP ............................................................................................................................. 453
Konwencje nazywania ................................................................................................................ 453
Dodatki funkcji ........................................................................................................................... 453
Projektowanie dziedziczenia ...................................................................................................... 454
Podsumowanie .................................................................................................................................. 455
Rozdział 21. Zaawansowane funkcje operujące na tablicach .....................457
Przekształcenia tablic ....................................................................................................................... 457
Pobieranie kluczy i wartości ....................................................................................................... 458
Zamiana, odwracanie i mieszanie ...............................................................................................459
Łączenie, dopełnianie, wycinanie i zastępowanie ...................................................................... 460
Stosy i kolejki ................................................................................................................................... 461
Zamiana pomiędzy tablicą i zmiennymi ........................................................................................... 464
Sortowanie ........................................................................................................................................ 465
Funkcje wyświetlające tablice .......................................................................................................... 466
Podsumowanie .................................................................................................................................. 467
16
PHP5 i MySQL. Biblia
Rozdział 22. Łańcuch i funkcje wyrażeń regularnych .................................469
Tokenizing i funkcje analizatora składni .......................................................................................... 470
Dlaczego wyrażenia regularne? ........................................................................................................ 472
Wyrażenia regularne w PHP ...................................................................................................... 473
Przykład wyrażeń stylu POSIX .................................................................................................. 473
Funkcje wyrażeń regularnych ..................................................................................................... 475
Wyrażenia regularne zgodne z Perl .................................................................................................. 476
Przykład: prosty program do wyodrębniania hiperłączy ................................................................... 479
Wyrażenie regularne .................................................................................................................. 479
Używanie wyrażenia w funkcji .................................................................................................. 481
Zaawansowane funkcje łańcuchów .................................................................................................. 483
Funkcje HTML ........................................................................................................................... 483
Mieszanie przy użyciu MD5 ...................................................................................................... 483
Łańcuchy jako zbiory znaków .................................................................................................... 485
Funkcje podobne do łańcuchów ................................................................................................. 487
Podsumowanie .................................................................................................................................. 487
Rozdział 23. Funkcje systemu operacyjnego i dostępu do plików .............489
Uprawnienia do plików PHP ............................................................................................................ 489
Funkcje czytania i zapisywania plików ............................................................................................ 490
Otwarcie pliku ............................................................................................................................ 491
Czytanie pliku ............................................................................................................................ 494
Tworzenie mechanizmu pobierania plików przy użyciu fpassthru() .......................................... 496
Zapis do pliku ............................................................................................................................. 497
Zamknięcie pliku ........................................................................................................................ 498
Funkcje systemu plików i katalogów ................................................................................................ 498
feof ............................................................................................................................................. 501
file_exists ................................................................................................................................... 501
filesize ........................................................................................................................................ 501
Funkcje sieciowe .............................................................................................................................. 501
Funkcje logu systemowego ........................................................................................................ 501
Funkcje DNS .............................................................................................................................. 502
Funkcje gniazd .......................................................................................................
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
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ą :