PHP i MySQL. Od podstaw. Wydanie IV
W. Jason Gilmore
Cena detaliczna: 109,00 zł
Twoja cena: 98,10 zł
Wydawnictwo: Helion
Oprawa: miękka
Numer katalogowy: 519406
Dostępność: 2 - 4 dni
Poleć znajomym:










PHP i MySQL. Od podstaw. Wydanie IV - opis
Świat zaawansowanych stron WWW w zasięgu Twoich rąk!
- Jak przygotować środowisko pracy?
- Jak wykorzystać technologię AJAX w połączeniu z PHP?
- Jak połączyć PHP i MySQL w jedną całość?
- Przygotowanie środowiska do pracy
- Podstawy PHP - typy danych, zmienne, funkcje, tablice
- Programowanie obiektowe w PHP
- Obsługa wyjątków i błędów
- Operacje na łańcuchach znaków, wyrażenia regularne
- Obsługa plików i korzystanie z funkcji systemu operacyjnego
- Wykorzystanie pakietów PEAR
- Operacje na dacie i czasie
- Obsługa formularzy HTML
- Uwierzytelnianie użytkowników
- Integracja PHP z LDAP
- Zarządzanie sesją
- Szablony stron - pakiet Smarty
- Zabezpieczanie witryn WWW
- Zastosowanie technologii AJAX z jQuery
- Wykorzystanie Zend Framework
- Możliwości bazy danych MySQL
- Instalacja i konfiguracja serwera MySQL
- Mechanizmy składowania i typy danych w MySQL
- Zabezpieczanie serwerów MySQL
- Pobieranie danych z bazy i operacje na nich w PHP
- Wykorzystanie widoków
- Mechanizm transakcji
PHP i MySQL. Od podstaw. Wydanie IV - spis treści
O autorze (19)
O recenzencie technicznym (21)
Podziękowania (23)
Wprowadzenie (25)
Rozdział 1. Prezentacja PHP (27)
- Historia (28)
- PHP 4 (28)
- PHP 5 (29)
- PHP 5.3 (30)
- PHP 6 (30)
- Ogólne cechy języka (31)
- Praktyczność (31)
- Możliwości (32)
- Potencjał (32)
- Cena (33)
- Podsumowanie (33)
- Wymagania wstępne instalacji (36)
- Pobieranie serwera Apache (36)
- Pobieranie PHP (36)
- Pobieranie dokumentacji (37)
- Instalacja Apache i PHP w systemie Linux (38)
- Instalacja Apache i PHP w systemie Windows (39)
- Instalacja serwera IIS i PHP w systemie Windows (41)
- Testowanie instalacji (41)
- Konfiguracja PHP (43)
- Konfiguracja PHP w trakcie tworzenia w systemach Linux (43)
- Modyfikowanie PHP budowanego w systemie Windows (44)
- Konfiguracja PHP w trakcie jego działania (44)
- Korzystanie z dyrektyw konfiguracyjnych PHP (44)
- Dyrektywy konfiguracyjne PHP (46)
- Wybór edytora (59)
- Adobe Dreamweaver CS5 (59)
- Notepad++ (60)
- PDT (PHP Development Tools) (60)
- Zend Studio (60)
- Wybór firmy udostępniającej serwery WWW (60)
- Siedem pytań do firm udostępniających serwery WWW (61)
- Podsumowanie (62)
- Umieszczanie kodu PHP na stronach WWW (63)
- Domyślna składnia (64)
- Krótkie znaczniki (64)
- Skrypt (65)
- Składnia ASP (65)
- Osadzanie wielu fragmentów kodu (65)
- Komentowanie kodu (66)
- Jednowierszowe komentarze w stylu C++ (66)
- Składnia skryptów powłoki (66)
- Komentarze wielowierszowe, składnia C (67)
- Generowanie danych wyjściowych (67)
- Instrukcja print() (67)
- Instrukcja echo() (68)
- Instrukcja printf() (69)
- Instrukcja sprintf() (70)
- Typy danych dostępne w PHP (70)
- Skalarne typy danych (70)
- Złożone typy danych (72)
- Konwersja typów danych przy użyciu rzutowania (73)
- Adaptacja typów danych poprzez ich zmienianie (74)
- Funkcje związane z typami danych (75)
- Funkcje identyfikujące typ (75)
- Identyfikatory (76)
- Zmienne (76)
- Deklaracje zmiennych (76)
- Zasięg zmiennych (78)
- Zmienne superglobalne (80)
- Stałe (84)
- Definiowanie stałych (85)
- Wyrażenia (85)
- Operandy (85)
- Operatory (85)
- Umieszczanie wartości w łańcuchach znaków (91)
- Cudzysłowy (91)
- Sekwencje sterujące (91)
- Apostrofy (92)
- Nawiasy klamrowe (92)
- Składnia heredoc (93)
- Składnia nowdoc (93)
- Struktury sterujące (93)
- Instrukcje warunkowe (94)
- Pętle (96)
- Instrukcje dołączania plików (101)
- Podsumowanie (103)
- Wywoływanie funkcji (105)
- Tworzenie funkcji (106)
- Przekazywanie argumentów przez wartość (107)
- Przekazywanie przez referencję (107)
- Domyślne wartości argumentów (108)
- Stosowanie informacji o typie (109)
- Zwracanie wartości z funkcji (109)
- Funkcje rekurencyjne (110)
- Biblioteki funkcji (113)
- Podsumowanie (113)
- Czym jest tablica? (115)
- Tworzenie tablic (116)
- Tworzenie tablic przy użyciu array() (117)
- Odczytywanie elementów tablicy przy użyciu list() (118)
- Zapisywanie w tablicy predefiniowanego zakresu wartości (118)
- Sprawdzanie, czy zmienna jest tablicą (119)
- Wyświetlanie zawartości tablic (119)
- Wyświetlanie tablic w ramach testowania skryptu (120)
- Dodawanie i usuwanie elementów tablic (121)
- Dodawanie wartości na początku tablicy (121)
- Dodawanie elementów na końcu tablicy (121)
- Usuwanie elementu z początku tablicy (121)
- Odnajdywanie elementów w tablicach (122)
- Przeszukiwanie tablic (122)
- Przeszukiwanie tablic z kluczami asocjacyjnymi (122)
- Poszukiwanie wartości w tablicach asocjacyjnych (123)
- Pobieranie kluczy tablicy (123)
- Pobieranie wartości z tablicy (123)
- Przeglądanie tablic (124)
- Pobieranie klucza aktualnego elementu tablicy (124)
- Pobieranie wartości aktualnego elementu tablicy (124)
- Pobieranie aktualnego klucza i wartości (125)
- Przesuwanie wskaźnika tablicy (125)
- Przekazywanie wartości z tablicy do funkcji (126)
- Określanie wielkości oraz unikalności tablicy (127)
- Określanie wielkości tablicy (127)
- Określanie częstotliwości występowania wartości (127)
- Określanie unikalnych elementów tablicy (128)
- Sortowanie tablic (128)
- Zmiana kolejności elementów tablicy (129)
- Zamiana kluczy i wartości (129)
- Sortowanie tablic (129)
- Łączenie i dzielenie tablic na różne sposoby (134)
- Łączenie tablic (134)
- Rekurencyjne łączenie tablic (134)
- Łączenie dwóch tablic (135)
- Pobieranie fragmentu tablicy (135)
- Wycinanie elementów z tablicy (136)
- Wyznaczanie części wspólnej tablic (136)
- Określanie części wspólnej tablic asocjacyjnych (137)
- Określanie różnicy tablic (137)
- Określanie różnicy tablic asocjacyjnych (138)
- Inne przydatne funkcje operujące na tablicach (139)
- Zwracanie losowego zbioru kluczy (139)
- Losowa zmiana kolejności elementów tablicy (139)
- Dodawanie wartości tablicy (139)
- Dzielenie tablicy (140)
- Podsumowanie (140)
- Zalety programowania obiektowego (141)
- Hermetyzacja (141)
- Dziedziczenie (142)
- Polimorfizm (142)
- Kluczowe pojęcia programowania obiektowego (143)
- Klasy (143)
- Obiekty (144)
- Właściwości (144)
- Stałe (149)
- Metody (150)
- Konstruktory i destruktory (153)
- Konstruktory (153)
- Destruktory (156)
- Składowe statyczne (156)
- Słowo kluczowe instanceof (157)
- Funkcje pomocnicze (158)
- Sprawdzanie, czy istnieje metoda (159)
- Automatyczne wczytywanie klas (159)
- Podsumowanie (160)
- Zaawansowane mechanizmy obiektowe niedostępne w PHP (162)
- Klonowanie obiektów (162)
- Przykład klonowania obiektu (162)
- Metoda __clone() (163)
- Dziedziczenie (164)
- Dziedziczenie klas (165)
- Dziedziczenie i konstruktory (166)
- Dziedziczenie i późne wiązanie statyczne (168)
- Interfejsy (168)
- Implementacja pojedynczego interfejsu (170)
- Implementacja kilku interfejsów (170)
- Klasy abstrakcyjne (171)
- Prezentacja przestrzeni nazw (172)
- Podsumowanie (174)
- Dyrektywy konfiguracyjne (176)
- Rejestracja błędów (178)
- Obsługa wyjątków (181)
- Dlaczego obsługa wyjątków jest wygodna? (181)
- Implementacja obsługi wyjątków w języku PHP (182)
- Wyjątki SPL (186)
- Podsumowanie (187)
- Wyrażenia regularne (190)
- Składnia wyrażeń regularnych (w stylu POSIX) (190)
- Funkcje obsługi wyrażeń regularnych (rozszerzony standard POSIX) (192)
- Składnia wyrażeń regularnych (zgodnych z Perl) (195)
- Inne funkcje operujące na łańcuchach znaków (201)
- Określanie długości łańcucha znaków (202)
- Porównywanie dwóch łańcuchów znaków (202)
- Zmiana wielkości liter (204)
- Konwersja łańcucha znaków na kod HTML i na odwrót (206)
- Alternatywy dla funkcji używających wyrażeń regularnych (210)
- Dopełnianie oraz przycinanie łańcuchów znaków (216)
- Zliczanie znaków i słów (217)
- Stosowanie PEAR - pakiet Validate_US (219)
- Instalowanie pakietu Validate_US (220)
- Stosowanie pakietu Validate_US (220)
- Podsumowanie (221)
- Pobieranie informacji o plikach i katalogach (224)
- Przetwarzanie ścieżki (224)
- Określanie wielkości pliku, katalogu i dysku (225)
- Określanie czasu dostępu i modyfikacji (228)
- Operacje na plikach (229)
- Pojęcie zasobu (229)
- Rozpoznawanie znaków nowego wiersza (229)
- Rozpoznawanie znaku końca pliku (229)
- Otwieranie i zamykanie pliku (230)
- Odczytywanie zawartości plików (231)
- Przesuwanie wskaźnika pliku (237)
- Odczytywanie zawartości katalogu (238)
- Wykonywanie poleceń systemowych (239)
- Usuwanie katalogu (239)
- Wykonywanie programów z poziomu systemu operacyjnego (240)
- Zabezpieczanie danych wejściowych (241)
- Funkcje do wykonywania programów (242)
- Podsumowanie (244)
- Potęga PEAR - konwersja formatów liczbowych (246)
- Instalacja i aktualizacja PEAR (246)
- Instalacja PEAR (247)
- PEAR i firmy udostępniające serwery (248)
- Aktualizacja PEAR (248)
- Korzystanie z menedżera pakietów PEAR (248)
- Przeglądanie zainstalowanych pakietów PEAR (249)
- Pobieranie informacji o zainstalowanych pakietach (249)
- Instalacja wybranego pakietu PEAR (250)
- Dołączanie pakietów do skryptów (251)
- Aktualizacja pakietów (252)
- Odinstalowanie pakietu (253)
- Użycie wcześniejszej wersji pakietu (253)
- Menedżer pakietów Pyrus (253)
- Instalacja menedżera Pyrus (253)
- Podsumowanie (254)
- Uniksowy znacznik czasu (255)
- Biblioteka funkcji do obsługi dat i czasu (256)
- Weryfikacja dat (256)
- Formatowanie dat i czasu (256)
- Konwersja znacznika czasu na zrozumiałą postać (259)
- Posługiwanie się znacznikami czasu (260)
- Sztuka czasu (261)
- Wyświetlanie zlokalizowanych dat i czasu (261)
- Wyświetlanie daty ostatniej modyfikacji witryny (265)
- Określanie liczby dni w bieżącym miesiącu (265)
- Określanie liczby dni w podanym miesiącu (265)
- Wyliczanie daty na podstawie różnicy w dniach (266)
- Usprawnienia obsługi dat i czasu w PHP 5.1+ (266)
- Konstruktor klasy DateTime (267)
- Formatowanie dat (267)
- Określanie daty po utworzeniu obiektu (267)
- Określanie czasu po utworzeniu obiektu (268)
- Modyfikowanie dat i czasu (268)
- Obliczanie różnicy pomiędzy dwiema datami (268)
- Podsumowanie (269)
- PHP i formularze HTML (271)
- Prosty przykład (272)
- Weryfikacja danych z formularzy (273)
- Usuwanie plików (273)
- Cross-site scripting (274)
- Zabezpieczanie danych wprowadzanych przez użytkowników (275)
- Weryfikacja i zabezpieczanie danych przy użyciu rozszerzenia Filter (277)
- Korzystanie ze złożonych komponentów formularzy (278)
- Wykorzystanie PEAR - HTML_QuickForm2 (280)
- Instalacja pakietu HTML_QuickForm2 (281)
- Tworzenie i weryfikacja danych prostego formularza (281)
- Podsumowanie (283)
- Uwierzytelnianie w oparciu o protokół HTTP (285)
- Korzystanie z plików .htaccess serwera Apache (286)
- Uwierzytelnianie przy użyciu możliwości PHP (287)
- Zmienne PHP związane z uwierzytelnianiem (287)
- Użyteczne funkcje (287)
- Uwierzytelnianie w oparciu o stałe dane (289)
- Uwierzytelnianie w oparciu o pliki (289)
- Uwierzytelnianie z wykorzystaniem bazy danych (291)
- Wykorzystanie możliwości PEAR - pakiet Auth_HTTP (292)
- Zarządzanie danymi uwierzytelniającymi (294)
- Testowanie siły hasła przy użyciu biblioteki CrackLib (294)
- Odzyskiwanie haseł przy użyciu jednorazowych adresów URL (296)
- Podsumowanie (298)
- Przesyłanie plików przy użyciu protokołu HTTP (299)
- Obsługa przesyłanych plików przy użyciu PHP (300)
- Dyrektywy konfiguracyjne związane z przesyłaniem plików (300)
- Tablica $_FILES (302)
- Funkcje PHP do obsługi przesyłanych plików (302)
- Komunikaty błędów (304)
- Prosty przykład (304)
- Wykorzystanie PEAR - HTTP_Upload (305)
- Instalacja pakietu HTTP_Upload (305)
- Przesyłanie pliku na serwer (306)
- Uzyskiwanie informacji o przesłanym pliku (306)
- Obsługa przesyłania większej liczby plików (307)
- Podsumowanie (308)
- DNS, usługi i serwery (310)
- DNS (310)
- Usługi (313)
- Tworzenie połączeń używających gniazd (314)
- Poczta elektroniczna (316)
- Dyrektywy konfiguracyjne (316)
- Wysyłanie wiadomości ze skryptów PHP (317)
- Popularne operacje sieciowe (321)
- Testowanie połączenia z serwerem (321)
- Tworzenie skanera portów (322)
- Tworzenie konwertera podsieci (322)
- Testowanie przepustowości łącza użytkownika (324)
- Podsumowanie (324)
- Stosowanie LDAP w języku PHP (326)
- Konfiguracja LDAP w PHP (326)
- Nawiązywanie połączenia z serwerem LDAP (326)
- Pobieranie danych z serwera LDAP (329)
- Określanie liczby zwróconych rekordów (331)
- Sortowanie rekordów LDAP (332)
- Wstawianie danych LDAP (332)
- Aktualizacja danych LDAP (334)
- Usuwanie danych z serwera LDAP (334)
- Operacje na rozpoznawalnych nazwach (335)
- Obsługa błędów (336)
- Podsumowanie (337)
- Czym jest obsługa sesji? (339)
- Proces obsługi sesji (340)
- Dyrektywy konfiguracyjne (340)
- Zarządzanie sposobem przechowywania danych sesyjnych (340)
- Określanie ścieżki do plików sesji (341)
- Automatyczne włączanie sesji (341)
- Określanie nazwy sesji (342)
- Wybór ciasteczek lub przepisywania adresów URL (342)
- Automatyczne przepisywanie adresów URL (342)
- Określanie czasu istnienia ciasteczka (342)
- Określanie ścieżki ciasteczka (342)
- Określanie katalogów do przechowywania stron wykorzystujących sesje (343)
- Korzystanie z sesji (344)
- Rozpoczynanie sesji (344)
- Usuwanie sesji (345)
- Ustawianie i pobieranie identyfikatora sesji (345)
- Tworzenie i usuwanie zmiennych sesyjnych (346)
- Kodowanie i dekodowanie danych sesyjnych (346)
- Praktyczne przykłady stosowania sesji (348)
- Automatyczne logowanie powracających użytkowników (348)
- Generowanie listy ostatnio odwiedzonych stron (350)
- Tworzenie własnych procedur obsługi sesji (351)
- Określanie funkcji stosowanych w obsłudze sesji (352)
- Obsługa sesji z użyciem bazy danych MySQL (352)
- Podsumowanie (355)
- Czym jest mechanizm obsługi szablonów? (357)
- Przedstawienie mechanizmu Smarty (359)
- Instalacja Smarty (360)
- Korzystanie ze Smarty (361)
- Logika prezentacji w szablonach Smarty (363)
- Komentarze (363)
- Modyfikatory zmiennych (363)
- Struktury sterujące (366)
- Instrukcje (369)
- Tworzenie plików konfiguracyjnych (371)
- Korzystanie ze zmiennych konfiguracyjnych (372)
- Stosowanie arkuszy stylów w szablonach Smarty (373)
- Wykorzystanie pamięci podręcznej (374)
- Określanie czasu przechowywania stron (374)
- Eliminowanie narzutów dzięki użyciu metody isCached() (375)
- Przechowywanie w pamięci podręcznej wielu wersji tego samego szablonu (375)
- Kilka ostatnich uwag o stosowaniu pamięci podręcznej (376)
- Podsumowanie (377)
- Dlaczego powstały usługi sieciowe? (380)
- RSS (381)
- Format RSS (382)
- Prezentacja SimplePie (383)
- Instalacja SimplePie (384)
- Przetwarzanie kanału RSS przy użyciu SimplePie (384)
- Przetwarzanie większej liczby kanałów (386)
- SimpleXML (387)
- Wczytywanie dokumentów XML (387)
- Analiza XML (389)
- Podsumowanie (391)
- Bezpieczna konfiguracja PHP (394)
- Dyrektywy konfiguracyjne związane z bezpieczeństwem (394)
- Ukrywanie szczegółów konfiguracji (395)
- Ukrywanie serwera Apache (396)
- Ukrywanie PHP (396)
- Ukrywanie wrażliwych danych (398)
- Ukrywanie głównego katalogu dokumentów (398)
- Zabronienie dostępu do plików z określonymi rozszerzeniami (398)
- Szyfrowanie danych (399)
- Funkcje szyfrujące PHP (399)
- Pakiet MCrypt (400)
- Podsumowanie (401)
- Przedstawienie Ajaksa (403)
- Prezentacja jQuery (405)
- Instalacja jQuery (405)
- Prosty przykład (405)
- Odpowiadanie na zdarzenia (406)
- Biblioteka jQuery i DOM (407)
- Mechanizm weryfikacji dostępności nazwy użytkownika (409)
- Określanie, czy nazwa użytkownika jest dostępna (410)
- Podsumowanie (412)
- Tłumaczenie witryn przy użyciu pakietu Gettext (416)
- Etap 1. Aktualizacja skryptów (416)
- Etap 2. Tworzenie repozytorium lokalizacji (417)
- Etap 3. Tworzenie plików tłumaczeń (418)
- Etap 4. Przetłumaczenie tekstów (418)
- Etap 5. Generowanie plików binarnych (419)
- Etap 6. Określanie odpowiedniego języka w skryptach (419)
- Lokalizacja dat, liczb i godzin (420)
- Podsumowanie (421)
- Przedstawienie wzorca MVC (423)
- Szkielety aplikacji PHP (425)
- CakePHP (426)
- Solar (426)
- Symfony (426)
- Zend Framework (426)
- Przedstawienie Zend Framework (427)
- Instalacja Zend Framework (428)
- Tworzenie pierwszej witryny używającej Zend Framework (428)
- Podsumowanie (439)
- Dlaczego MySQL jest tak popularny? (441)
- Elastyczność (442)
- Moc (442)
- Elastyczne opcje licencyjne (444)
- (Hiper)aktywna społeczność użytkowników (445)
- Ewolucja serwera MySQL (445)
- MySQL 4 (445)
- MySQL 5 (446)
- MySQL 5.1 (447)
- MySQL 5.4 oraz 5.5 (447)
- Najważniejsi użytkownicy serwerów MySQL (448)
- craigslist (448)
- Wikipedia (448)
- Inni znaczący użytkownicy (448)
- Podsumowanie (448)
- Pobieranie serwera MySQL (451)
- Instalacja MySQL (452)
- Instalacja serwera MySQL w systemie Linux (452)
- Instalacja i konfiguracja MySQL w systemie Windows (455)
- Określanie hasła administratora (457)
- Uruchamianie i zatrzymywanie serwera MySQL (458)
- Ręczna kontrola pracy procesu (458)
- Konfiguracja i optymalizacja serwera MySQL (459)
- Skrypt mysqld_safe (459)
- Parametry konfiguracyjne i optymalizacyjne (460)
- Plik my.cnf (463)
- Konfiguracja PHP pod kątem współpracy z MySQL (465)
- Rekonfiguracja PHP w systemie Linux (465)
- Rekonfiguracja PHP w systemie Windows (465)
- Podsumowanie (466)
- Prezentacja klientów obsługiwanych z wiersza poleceń (467)
- Klient mysql (467)
- Klient mysqladmin (475)
- Inne przydatne klienty (477)
- Opcje klientów (480)
- Klienty MySQL z graficznym interfejsem użytkownika (482)
- Aplikacja phpMyAdmin (483)
- Podsumowanie (484)
- Mechanizmy składowania (485)
- MyISAM (486)
- IBMDB2I (488)
- InnoDB (488)
- MEMORY (489)
- MERGE (490)
- FEDERATED (490)
- ARCHIVE (492)
- CSV (492)
- EXAMPLE (492)
- BLACKHOLE (492)
- Pytania i odpowiedzi dotyczące mechanizmów składowania (493)
- Typy danych i atrybuty (494)
- Typy danych (494)
- Operacje na bazach danych i tabelach (502)
- Operacje na bazach danych (502)
- Operacje na tabelach (504)
- Modyfikowanie struktury tabel (506)
- Baza danych INFORMATION_SCHEMA (507)
- Podsumowanie (509)
- Co należy zrobić na samym początku? (512)
- Zabezpieczanie procesu serwera MySQL (513)
- System uprawnień serwera MySQL (513)
- Sposób działania systemu uprawnień (514)
- Gdzie są przechowywane informacje o uprawnieniach? (516)
- Zarządzanie użytkownikami i uprawnieniami (523)
- Tworzenie użytkowników (524)
- Usuwanie użytkowników (524)
- Zmiana nazwy istniejących użytkowników (524)
- Polecenia GRANT i REVOKE (525)
- Przeglądanie posiadanych uprawnień (530)
- Ograniczanie dostępu do zasobów (530)
- Bezpieczne połączenia z serwerem MySQL (531)
- Opcje polecenia GRANT (531)
- Opcje SSL (533)
- Uruchamianie serwera MySQL obsługującego bezpieczne połączenia (534)
- Nawiązywanie połączenia przy użyciu klienta obsługującego SSL (534)
- Określanie opcji SSL w pliku konfiguracyjnym my.cnf (534)
- Podsumowanie (535)
- Wymagania instalacji (538)
- Włączanie rozszerzenia mysqli w systemach Linux oraz Unix (538)
- Włączanie rozszerzenia mysqli w systemie Windows (538)
- Stosowanie sterownika MySQL (538)
- Zarządzanie uprawnieniami użytkowników (539)
- Korzystanie z przykładowych danych (539)
- Praktyczne wykorzystanie rozszerzenia mysqli (540)
- Konfiguracja i nawiązywanie połączenia (540)
- Obsługa błędów połączenia (541)
- Pobieranie informacji o błędach (541)
- Przechowywanie informacji o połączeniu w osobnym pliku (542)
- Operacje na bazie danych (543)
- Przesyłanie zapytań do bazy danych (543)
- Przetwarzanie wyników zapytania (546)
- Określanie liczby zwróconych oraz zmodyfikowanych wierszy (547)
- Korzystanie z poleceń przygotowanych (548)
- Stosowanie transakcji (552)
- Włączanie trybu automatycznego zatwierdzania (553)
- Zatwierdzanie transakcji (553)
- Wycofywanie transakcji (553)
- Podsumowanie (553)
- Kolejna warstwa abstrakcji bazy danych? (556)
- Stosowanie PDO (557)
- Instalacja PDO (557)
- Obsługiwane bazy danych (558)
- Nawiązywanie połączenia z serwerem i wybór bazy danych (558)
- Obsługa błędów (560)
- Pobieranie i ustawianie atrybutów (562)
- Wykonywanie zapytań (563)
- Prezentacja poleceń przygotowanych (564)
- Pobieranie danych (567)
- Tworzenie powiązanych kolumn (569)
- Stosowanie transakcji (570)
- Podsumowanie (571)
- Czy warto używać podprogramów składowanych? (574)
- Zalety podprogramów składowanych (574)
- Wady podprogramów składowanych (574)
- Implementacja podprogramów składowanych w serwerze MySQL (575)
- Tworzenie podprogramów składowanych (575)
- Deklarowanie i ustawianie zmiennych (578)
- Wykonywanie podprogramu składowanego (579)
- Tworzenie i stosowanie złożonych podprogramów składowanych (579)
- Wywoływanie podprogramu z innego podprogramu (586)
- Modyfikowanie podprogramów składowanych (586)
- Usuwanie podprogramów składowanych (586)
- Wyświetlanie informacji o statusie podprogramu (587)
- Wyświetlanie polecenia użytego do utworzenia podprogramu (588)
- Obsługa warunków (588)
- Integracja podprogramów składowanych w aplikacjach internetowych (589)
- Strona do wyliczania i prezentacji premii (589)
- Pobieranie wielu wierszy wyników (590)
- Podsumowanie (590)
- Prezentacja wyzwalaczy (591)
- Jakie są zastosowania wyzwalaczy? (592)
- Wykonywanie akcji przed zdarzeniem (592)
- Wykonywanie akcji po zdarzeniu (592)
- Wyzwalacze wykonywane przed zdarzeniem (BEFORE) i po nim (AFTER) (593)
- Obsługa wyzwalaczy w serwerze MySQL (594)
- Tworzenie wyzwalaczy (594)
- Wyświetlanie istniejących wyzwalaczy (596)
- Modyfikacja wyzwalaczy (598)
- Usuwanie wyzwalaczy (598)
- Wykorzystanie wyzwalaczy w aplikacjach internetowych (598)
- Podsumowanie (599)
- Przedstawienie widoków (602)
- Korzystanie z widoków w serwerze MySQL (602)
- Tworzenie i wykonywanie widoków (602)
- Wyświetlanie informacji o widokach (607)
- Modyfikowanie widoków (609)
- Usuwanie widoków (609)
- Widoki aktualizujące (609)
- Stosowanie widoków w aplikacjach internetowych (610)
- Podsumowanie (611)
- Przykładowe dane (614)
- Tabelaryczna prezentacja danych przy wykorzystaniu PEAR (614)
- Instalacja pakietu HTML_Table (615)
- Tworzenie prostej tabeli (615)
- Tworzenie czytelniejszych wierszy (616)
- Generowanie tabel na podstawie informacji z bazy danych (617)
- Sortowanie wyników (618)
- Podział wyników na strony (619)
- Wyświetlanie numerów stron (621)
- Pobieranie danych z wielu tabel przy użyciu podzapytań (623)
- Porównywanie przy użyciu podzapytań (624)
- Stosowanie podzapytań do sprawdzania istnienia danych (624)
- Pielęgnacja baz danych przy użyciu podzapytań (625)
- Stosowanie podzapytań w skryptach PHP (625)
- Przeglądanie wyników przy wykorzystaniu kursora (626)
- Podstawowe informacje o kursorach (626)
- Tworzenie kursora (627)
- Otwieranie kursora (627)
- Korzystanie z kursora (627)
- Zamykanie kursora (628)
- Stosowanie kursorów w skryptach PHP (628)
- Podsumowanie (629)
- Indeksacja baz danych (631)
- Indeks główny (632)
- Indeksy unikalne (633)
- Indeksy normalne (634)
- Indeksy pełnotekstowe (635)
- Indeksacja - najlepsze praktyki (639)
- Wyszukiwanie z użyciem formularzy HTML (639)
- Realizacja prostego wyszukiwania (639)
- Rozszerzanie możliwości wyszukiwania (640)
- Stosowanie wyszukiwania pełnotekstowego (642)
- Podsumowanie (643)
- Co to jest transakcja? (645)
- Możliwości stosowania transakcji na serwerze MySQL (646)
- Wymagania systemowe (646)
- Tworzenie tabeli (646)
- Przykładowy projekt (647)
- Tworzenie tabel i przykładowych danych (647)
- Realizacja przykładowej transakcji (648)
- Rady dotyczące korzystania z transakcji (650)
- Tworzenie aplikacji transakcyjnych w PHP (650)
- Modyfikacja wyprzedaży (650)
- Podsumowanie (652)
- Przykładowa tabela (653)
- Separacja poszczególnych elementów danych (654)
- Importowanie danych (654)
- Importowanie danych przy użyciu polecenia LOAD DATA INFILE (655)
- Importowanie danych przy użyciu klienta mysqlimport (658)
- Wczytywanie danych przy użyciu skryptu PHP (660)
- Eksportowanie danych (661)
- Polecenie SELECT INTO OUTFILE (661)
- Podsumowanie (664)



