podrobný obsah

Transkript

podrobný obsah
VELKÁ KNIHA
PHP a MySQL 5
KOMPENDIUM ZNALOSTÍ PRO ZAČÁTEČNÍKY I PROFESIONÁLY
/přepracované, doplněné a rozšířené vydání publikace z roku 2005/
W. Jason Gilmore
Beginning PHP and MySQL 5: From Novice to Professional, Second Edition
Copyright © 2006 by W. Jason Gilmore
Original English language published Apress L.P., 2560 Ninth Street, Suite 219, Berkeley, CA 9 47 10 USA. Copyright © 2006
by Apress L.P. CZECH language edition copyright © 2006 by ZONER software, s.r.o.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording or by any information storage retrieval system, without permission from
Apress L.P.
Originál v anglickém jazyce vydal Apress L.P., 2560 Ninth Street, Suite 219, Berkeley, CA 9 47 10 USA. Copyright © 2006
Apress L.P. České vydání Copyright © 2006 ZONER software s.r.o..
Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována nebo předávána žádnou formou nebo
způsobem, elektronicky ani mechanicky, včetně fotokopií, natáčení ani žádnými jinými systémy pro ukládání bez výslovného svolení Apress L.P.
Velká kniha PHP a MySQL 5
kompendium znalostí pro začátečníky i profesionály
přepracované, doplněné a rozšířené vydání publikace z roku 2005
Autor: W. Jason Gilmore
Copyright © ZONER software, s.r.o. Vydání první v roce 2007. Všechna práva vyhrazena.
Zdrojový kód příkladů uvedených v knize je k dispozici na adrese http://www.apress.com v sekci Source Code
nebo na adrese http://www.zonerpress.cz v sekci Download.
Zoner Press
KATALOGOVÉ ČÍSLO: ZR617
ZONER software, s.r.o.
Nové sady 18, 602 00 Brno
Překlad: RNDr. Jan Pokorný
Odpovědný redaktor: Miroslav Kučera, Pavel Kristián
Šéfredaktor: Ing. Pavel Kristián
DTP: Filip Božoň
© Cover foto: Jiří Heller, HELLER.CZ s.r.o., www.heller.cz
© Cover a layout: Ing. Pavel Kristián
Informace, které jsou v této knize zveřejněny, mohou byt chráněny jako patent. Jména produktů byla uvedena bez záruky jejich volného použití. Při tvorbě textů a vyobrazení bylo sice postupováno s maximální péčí, ale přesto nelze zcela
vyloučit možnost výskytu chyb. Vydavatelé a autoři nepřebírají právní odpovědnost ani žádnou jinou záruku za použití
chybných údajů a z toho vyplývajících důsledků. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována ani distribuována žádným způsobem ani prostředkem, ani reprodukována v databázi či na jiném záznamovém
prostředku či v jiném systému bez výslovného svolení vydavatele s výjimkou zveřejnění krátkých částí textu pro potřeby
recenzí.
Veškeré dotazy týkající se distribuce směřujte na:
Zoner Press
ZONER software, s.r.o.
Nové sady 18, 602 00 Brno
tel.: 532 190 883, fax: 543 257 245
e-mail: [email protected]
http://www.zonerpress.cz
ISBN 80-86815-53-6
Kniha je věnována památce
Dr. Giovanni „Nino“ Sanzi (1929-2004).
Addio, caro amico.
Stručný obsah
Kapitola 1
Kapitola 2
Kapitola 3
Kapitola 4
Kapitola 5
Kapitola 6
Kapitola 7
Kapitola 8
Kapitola 9
Kapitola 10
Kapitola 11
Kapitola 12
Kapitola 13
Kapitola 14
Kapitola 15
Kapitola 16
Kapitola 17
Kapitola 18
Kapitola 19
Kapitola 20
Kapitola 21
Kapitola 22
Kapitola 23
Kapitola 24
Kapitola 25
Kapitola 26
Kapitola 27
Kapitola 28
Kapitola 29
Kapitola 30
Kapitola 31
Kapitola 32
Kapitola 33
Kapitola 34
Kapitola 35
Kapitola 36
Kapitola 37
Úvod do PHP
Instalace a konfigurace Apache a PHP
Základy PHP
Funkce
Pole
Objektově orientované programování v PHP
Vyspělé schopnosti OOP
Zpracování chyb a výjimek
Řetězce a regulární výrazy
Práce se systémem souborů a s operačním systémem
PEAR
Datum a čas
Formuláře a navigační pomůcky
Autentizace
Upload souborů
Networking
PHP a LDAP
Zpracovatelé sezení
Šablony se Smarty
Webové služby
Bezpečné programování v PHP
SQLite
Úvod do PDO
Úvod do MySQL
Instalace a konfigurace MySQL
Klienti MySQL
Ukládací enginy MySQL a datové typy
Zabezpečení MySQL
Rozšíření mysql v PHP
Rozšíření mysqli v PHP
Uložené rutiny
Triggery MySQL
Pohledy
Databázové dotazy v praxi
Indexy a vyhledávání
Transakce
Import a export dat
Rejstřík
31
39
69
115
127
153
177
197
211
247
277
289
319
341
359
373
409
431
451
475
515
533
551
569
579
603
625
655
681
709
733
755
767
779
801
817
831
845
Obsah
O autorovi
O odborném recenzentovi
Poděkování
25
25
26
Pošlete nám váš názor
Zdrojové soubory
Úvod
27
27
29
Kapitola 1
Úvod do PHP
Historie
PHP 4
PHP 5
31
31
32
34
Všeobecné rysy jazyka
Upotřebitelnost
Vyspělost
Možnosti
35
35
36
36
Cena
Shrnutí
37
37
Kapitola 2
Instalace a konfigurace Apache a PHP
39
Instalace
Obstaráme si distribuce
Proces instalace
Otestování instalace
Přizpůsobení vybudované distribuce pro Unix
Přizpůsobení vybudované distribuce pro Windows
Běžné potíže
Prohlížení a stažení dokumentace
39
39
41
46
47
47
48
48
Konfigurace
Správa konfiguračních direktiv PHP
Konfigurační direktivy PHP
Shrnutí
49
49
51
68
Kapitola 3
Základy PHP
Únik k PHP
Výchozí syntax
Krátké značky
Styl <script>
69
69
70
70
71
Obsah
8
Styl ASP
Vkládání několika bloků kódu
71
71
Komentáře
Syntax jediného řádku z C++
Syntax shellu
Komentář na několika řádcích ve stylu C
72
72
72
72
Výstup
print()
echo()
printf()
sprintf()
73
73
74
74
75
Typy dat
Skalární datové typy
Složené datové typy
Resource
Přetypování
Žonglování s typy
Funkce vztahující se k typům
76
76
77
79
80
81
82
Identifikátory
Proměnné
Deklarace proměnné
Obor proměnné
Superglobální proměnné PHP
Proměnné proměnné
83
84
84
85
88
93
Konstanty
Výrazy
Operandy
Operátory
93
94
94
94
Interpretace řetězců
Uvozovky
Apostrofy
heredoc
100
100
101
102
Řídící struktury
Příkazy, které řídí vykonávání
Podmínkové příkazy
Příkazy cyklu
Příkazy pro vkládání souborů
102
103
104
106
111
Shrnutí
113
Velká kniha PHP a MySQL 5
Kapitola 4
9
Funkce
115
Volání funkcí
Vytvoření funkce
Předávání argumentů hodnotou
Předávání argumentů odkazem
Výchozí hodnoty argumentů
Nepovinné argumenty
Návratové hodnoty funkcí
Vracení více hodnot najednou
Vnořování funkcí
Rekurzivní funkce
Funkce jako proměnná
115
116
116
117
118
118
119
120
120
121
123
Knihovny funkcí
Shrnutí
124
125
Kapitola 5
Pole
127
Co je pole?
Výstup polí
Jak se vytvoří pole
Test, zda se jedná o pole
128
129
130
132
Přidávání a odstraňování prvků pole
Vyhledávání prvků v poli
133
134
Procházení polí
Zjištění velikosti a jedinečných hodnot pole
Setřídění prvků polí
Kombinace, sloučení, extrakce a porovnání
Další užitečné funkce pro práci s poli
Shrnutí
136
140
141
146
150
152
Kapitola 6
Objektově orientované programování v PHP
153
Zisky plynoucí z OOP
Zapouzdření
Dědění
Polymorfizmus
154
154
155
155
Klíčové pojmy OOP
Třídy
Objekty
Členské proměnné
156
156
157
157
Obsah
10
Vlastnosti
Konstanty
Metody
160
163
163
Rada pro typ
Konstruktory a destruktory
Konstruktory
Destruktory
167
168
168
171
Statické členy tříd
Klíčové slovo instanceof
Pomocné funkce
Automatické načítání objektů
Shrnutí
172
173
173
175
176
Kapitola 7
Pokročilé schopnosti OOP
177
Schopnosti OOP nepodporované v PHP
Klonování objektů
Příklad klonování
Metoda _ _clone()
178
178
178
180
Dědění
Dědění třídy
Dědění a konstruktory
181
181
183
Rozhraní
Dědění jednoho rozhraní
Implementace více rozhraní
185
186
187
Abstraktní třídy
Reflexe
Shrnutí
188
189
195
Kapitola 8
Zpracování chyb a výjimek
197
Konfigurační direktivy
Protokolování chyb
Zpracování výjimek
Proč je zpracování výjimek prospěšné
Implementace zpracování výjimek v PHP
198
201
203
203
205
Shrnutí
209
Kapitola 9
Řetězce a regulární výrazy
Syntaxe se složenými závorkami {}
211
211
Velká kniha PHP a MySQL 5
11
Regulární výrazy
Syntax regulárních výrazů ve stylu POSIX
Syntax regulárních výrazů ve stylu Perlu
212
213
218
Další funkce pro práci s řetězci
Určování délky řetězce
Porovnávání dvou řetězců
Úpravy velikosti písmen
Převádění řetězců do HTML a z HTML
Alternativy pro funkce regulárních výrazů
Doplňování a zkracování řetězce
Počítání znaků a slov
225
226
226
228
229
234
241
242
Využití předností balíku Validate_US PEAR
Instalace balíku Validate_US
Jak se používá balík Validate_US
244
245
245
Shrnutí
246
Kapitola 10 Práce se systémem souborů a s operačním systémem
247
Soubory a adresáře
Analýza cest k adresářům
Typy souborů a odkazy
Zjišťování velikosti souboru, adresáře a disku
Časy posledního přístupu a modifikace
248
248
250
253
256
Vlastnictví souborů a povolení
Vstupní a výstupní (I/O) operace se soubory
Pojem prostředek
Znak pro nový řádek
Konec souboru
Otevření a uzavření souboru
Čtení ze souboru
Přesouvání ukazatele souboru
Zapisování do souboru
Čtení obsahu adresářů
257
259
259
260
260
260
262
267
268
268
Vykonávání příkazů shellu
Vykonávání programů na systémové úrovni
Shrnutí
270
271
275
Kapitola 11 PEAR
Populární balíky PEAR
Konverze číselných formátů
277
277
279
Obsah
12
Instalace a aktualizace PEAR
Instalace PEAR
PEAR a hostitelské firmy
Aktualizace PEAR
280
280
282
282
Jak se pracuje s manažerem balíků PEAR
Jaké balíky jsou nainstalované
Jak získáte další informace o nainstalovaném balíku
Instalace balíku
Jak se pracuje s balíkem
Modernizace balíku
Odinstalování balíku
Přechod na starší verzi balíku
282
283
283
284
286
287
287
288
Shrnutí
288
Kapitola 12 Datum a čas
289
Časová známka Unixu
Knihovna PHP pro datum a čas
Bojové umění „Date Fu“
Zobrazení lokalizovaného data a času
Zobrazení data poslední modifikace webové stránky
Zjištění počtu dní aktuálního měsíce
Určení data vzdáleného x dní od aktuálního data
Vytvoření kalendáře
289
290
297
297
301
301
302
303
PHP 5.1
Základní informace o Date
Konstruktor Date
Accessory a mutátory
Validátory
Manipulační metody
306
307
307
308
311
311
Shrnutí
317
Kapitola 13 Formuláře a navigační pomůcky
PHP a webové formuláře
Jednoduchý příklad
Předávání dat formuláře do funkce
Práce s vícehodnotovými komponentami formuláře
Generování formulářů s PHP
Automatický výběr na formuláři
PHP, webové formuláře a JavaScript
319
320
320
321
322
324
326
327
Velká kniha PHP a MySQL 5
13
Navigační pomůcky
Uživatelsky přívětivé URL
Navigační stopy
Vytváření vlastních zpracovatelů chyb
329
329
333
337
Shrnutí
339
Kapitola 14 Autentizace
341
Pojmy autentizace HTTP
Autentizace PHP
Proměnné autentizace
Různé metodologie autentizace
Autentizace založená na IP adrese
Využití PEAR: Auth_HTTP
341
342
343
344
348
349
Administrace přihlašování uživatelů
Ustanovení hesel
Testování jak snadno lze uhádnout heslo s knihovnou CrackLib
Jednorázové URL a obnova hesla
352
352
354
356
Shrnutí
358
Kapitola 15 Upload souborů
359
Nahrávání souborů přes protokol HTTP
Nahrávání na server s PHP
Direktivy PHP pro nahrávání souborů a pro prostředky
Pole $_FILES
Funkce PHP pro nahrávání na server
Chybové zprávy týkající se nahrávání
Ukázky nahrávání souborů
359
360
360
362
363
364
365
Dejte přednost PEAR: HTTP_Upload
Instalace HTTP_Upload
Získáme informace o nahraném souboru
Přesun nahraného souboru na cílové umístění
Nahrávání více souborů najednou
368
368
369
370
370
Shrnutí
371
Kapitola 16 Networking
DNS, služby a servery
DNS
Služby
373
374
374
377
Obsah
14
Zřizování soketových připojení
378
Pošta
Konfigurační direktivy
Odeslání e-mailu, který obsahuje jen čistý text
Odeslání e-mailu s dodatečnými záhlavími
Odeslání e-mailu více příjemcům
Odeslání e-mailu formátovaného jako HTML
Jak se odešle příloha
380
380
381
382
382
383
384
IMAP, POP3 a NNTP
Požadavky
Zřízení a uzavření připojení
Další informace o poštovních přihrádkách a poště
Získávání zpráv
Sestavení zprávy
Odeslání zprávy
Administrace poštovní přihrádky
Administrace zpráv
385
385
386
388
390
397
398
398
400
Proudy
Obaly proudů a kontexty
Filtry proudů
400
401
402
Běžné síťové úkoly
Zvonění na server
Skener portu
Konvertor podsítě
Testování šířky pásma uživatele
404
404
405
405
407
Shrnutí
408
Kapitola 17 PHP a LDAP
409
Úvod do LDAP
Další informace o LDAP
410
411
PHP a LDAP
Připojení k serveru LDAP
Vázání k serveru LDAP
Uzavření připojení k serveru LDAP
Získávání dat LDAP
Práce s hodnotami položek
Počet získaných položek
Získávání atributů
Řazení a porovnávání položek LDAP
411
411
412
413
414
415
416
417
420
Velká kniha PHP a MySQL 5
Práce s položkami
Dealokace paměti
Vkládání dat LDAP
Aktualizace dat LDAP
Odstraňování dat LDAP
Konfigurační funkce
Znakové sady
Práce s distingovaným názvem
Zpracování chyb
Shrnutí
Kapitola 18 Zpracovatelé sezení
15
421
423
424
425
426
426
428
428
429
430
431
Co je to zpracování sezení?
Cookies
Přepisování URL
Proces zpracování sezení
431
432
432
432
Konfigurační direktivy
Klíčové pojmy
Startování sezení
Likvidace sezení
Získávání a nastavování ID sezení
Vytváření a odstraňování proměnných sezení
Zakódování a dekódování dat sezení
433
438
438
439
439
440
440
Praktické ukázky zpracování sezení
Automatizované přihlašování
Seznam naposled prohlížených dokumentů
442
442
444
Vytváření vlastních zpracovatelů sezení
Včlenění vlastních funkcí sezení do logiky PHP
Vlastní zpracovatelé sezení založení na MySQL
445
446
447
Shrnutí
450
Kapitola 19 Šablony se Smarty
Co je stroj na šablony?
Úvod do Smarty
Instalace Smarty
Práce se Smarty
Prezentační logika Smarty
Komentáře
451
452
453
454
456
458
458
Obsah
16
Modifikátory proměnné
Řídící struktury
Speciální příkazy
458
461
465
Vytváření konfiguračních souborů
Odkazy na konfigurační proměnné
468
469
CSS v součinnosti se Smarty
Ukládání stránek do cache
Doba života stránek uložených v cache
Eliminace režijních nákladů na zpracování s is_cached()
Vytvoření několika cache pro jednu šablonu
Několik slov závěrem k ukládání do cache
470
471
472
472
473
474
Shrnutí
474
Kapitola 20 Webové služby
475
Proč webové služby?
Real Simple Syndication
Syntax RSS
MagpieRSS
476
478
480
481
SimpleXML
Funkce SimpleXML
Metody SimpleXML
488
489
490
SOAP
NuSOAP
Rozšíření SOAP PHP 5
493
494
503
Použití klienta C# s webovou službou PHP
Shrnutí
512
514
Kapitola 21 Bezpečné programování v PHP
515
Bezpečná konfigurace PHP
Bezpečný mód
Další konfigurační direktivy vztahující se bezpečnému módu
516
516
518
Skrývání podrobností konfigurace
Skrytí Apache a PHP
520
520
Skrývání citlivých dat
Dbejte řádně o kořen dokumentů
Zamítněte přístup k souborům s určitými příponami
522
522
523
Desinfekce dat uživatele
Vymazání souborů
523
524
Velká kniha PHP a MySQL 5
Skriptování přes weby
Desinfekce vstupu od uživatele: řešení
17
524
526
Šifrování dat
Šifrovací funkce PHP
mhash
MCrypt
528
528
529
530
Shrnutí
532
Kapitola 22 SQLite
533
SQLite
Instalace SQLite
Práce v rozhraní příkazového řádku SQLite
533
534
534
Knihovna SQLite PHP
Direktivy SQLite
Jak se otevře připojení
Vytvoření tabulky v paměti
Uzavření připojení
Dotazy na databázi
Analýza sad výsledků
Získávání podrobností o sadě výsledků
Manipulace s ukazatelem sady výsledků
Informace o struktuře tabulky
Práce s binárními daty
Vytváření a překrývání funkcí SQLite
Vytváření agregačních funkcí
536
536
536
537
538
538
539
542
544
545
546
547
548
Shrnutí
549
Kapitola 23 Úvod do PDO
Zase další databázová abstraktní vrstva?
Jak se pracuje s PDO
Instalace PDO
Podpora databází v PDO
Připojení k databázovému serveru a výběr databáze
Získávání a nastavování atributů
Zpracování chyb
Vykonání dotazu
Připravené příkazy
Získávání dat
Nastavování vázaných sloupců
551
552
553
554
554
555
557
557
558
560
564
567
Obsah
18
Transakce
Shrnutí
Kapitola 24 Úvod do MySQL
568
568
569
Proč je MySQL tak populární?
Flexibilita
Výkon
Flexibilní licenční možnosti
(Hyper) aktivní komunita uživatelů
569
570
570
572
573
MySQL 4
MySQL 5
Prominentní uživatelé MySQL
craigslist
Yahoo! Finance
Wikipedia
574
575
575
575
576
576
Shrnutí
577
Kapitola 25 Instalace a konfigurace MySQL
579
Licence PHP a MySQL
Linux
Windows
579
580
580
Stažení MySQL
Instalace MySQL
Linux
Windows
580
582
582
586
Nastavte heslo administrátora MySQL
Start a zastavení MySQL
Ruční ovládání démona
Automatické startování a zastavování MySQL
589
589
589
591
Konfigurace a optimalizace MySQL
mysqld_safe
Konfigurační a optimalizační parametry
Soubor my.cnf
594
594
595
599
Shrnutí
602
Kapitola 26 Klienti MySQL
603
Standardní volby klientů
Volby týkající se připojení
603
604
Velká kniha PHP a MySQL 5
19
Všeobecné volby
mysql
Klíčové volby mysql
Práce s mysql v interaktivním režimu
Prohlížení konfiguračních proměnných a stavu systému
Práce s mysql v dávkovém režimu
Užitečné tipy k mysql
605
605
606
608
610
611
612
mysqladmin
Příkazy mysqladmin
614
614
Další utility
mysqldump
mysqlshow
mysqlhotcopy
mysqlimport
myisamchk
mysqlcheck
615
615
616
616
617
618
619
Klientské programy jiných výrobců
Administrátor MySQL
phpMyAdmin
Prohlížeč dotazů MySQL
Navicat
619
619
621
622
624
Shrnutí
624
Kapitola 27 Ukládací enginy MySQL a datové typy
625
Ukládací enginy
InnoDB
MyISAM
MEMORY
MERGE
BDB
FEDERATED
ARCHIVE
CSV
EXAMPLE
BLACKHOLE
Časté otázky týkající se ukládacích enginů
625
626
627
629
631
631
631
633
633
634
634
634
Datové typy a atributy
Datové typy
Datové typy pro datum a čas
636
636
636
Obsah
20
Datové typy pro řetězce
Atributy datových typů
640
642
Práce s databázemi a s tabulkami
Práce s databázemi
Práce s tabulkami
Změny ve struktuře tabulky
Databáze INFORMATION_SCHEMA
645
645
647
650
650
Shrnutí
653
Kapitola 28 Zabezpečení MySQL
655
Co byste měli udělat nejdřív
Zabezpečení démona mysqld
Systém přístupových oprávnění MySQL
Jak systém přístupových oprávnění funguje
Kde jsou informace o přístupových oprávněních uložené?
656
657
657
657
659
Správa uživatelů a přístupových oprávnění
Prohlížení oprávnění
668
675
Limity na konzumaci prostředků uživateli
Bezpečná připojení MySQL
Volby příkazu GRANT, které se týkají bezpečných připojení
Volby SSL
675
676
677
678
Shrnutí
680
Kapitola 29 Rozšíření mysql v PHP
681
Předběžné informace
Jak se zpřístupní rozšíření mysql na Linuxu
Jak se zpřístupní rozšíření mysql na Windows
Přístupová oprávnění uživatelů
Ukázková data
681
681
682
682
682
Příkazy MySQL v PHP
Zřízení a uzavření připojení
Uložení informací o připojení do separátního souboru
Zabezpečení informací o připojení
683
683
685
685
Volba databáze
Dotazy na MySQL
Získávání a zobrazování dat
Vkládání dat
Modifikace dat
686
686
688
691
693
Velká kniha PHP a MySQL 5
21
Odstraňování dat
Vybrané řádky a ovlivněné řádky
Získávání informací o databázi a tabulce
Získávání informací o sloupcích
Prohlížení vlastností tabulky
Získávání informací o chybách
695
696
697
698
702
703
Pomocné funkce
Shrnutí
704
707
Kapitola 30 Rozšíření mysqli v PHP
709
Předběžné informace
Jak se zpřístupní rozšíření mysqli na Unixu
Jak se zpřístupní rozšíření mysqli na Windows
Ukázková data
710
710
710
711
Jak se pracuje s rozšířením mysqli
Připojení k serveru MySQL
Zprávy o chybách připojení
Výběr databáze MySQL
Uzavření připojení
711
711
712
715
716
Dotazy
Vykonání dotazu
Zotavení paměti dotazu
Příprava sady výsledků pro zpracování
Analýza výsledků
Vykonávání několika dotazů za sebou
Připravené příkazy
716
716
718
718
720
723
724
Databázové transakce
Shrnutí
731
732
Kapitola 31 Uložené rutiny
733
Měli bychom používat uložené rutiny?
Přednosti uložených rutin
Nevýhody uložených rutin
734
734
734
Jak MySQL implementuje uložené rutiny
Tabulky přístupových oprávnění uložených rutin
Jak se vytvoří uložená rutina
Deklarace a nastavování proměnných
Jak se vykoná uložená rutina
735
735
737
739
741
Obsah
22
Uložené rutiny složené z několika příkazů
Volání rutiny z jiné rutiny
Modifikace uložené rutiny
Odstranění uložené rutiny
Prohlížení stavu rutiny
Prohlížení syntaxe rutiny
Podmínky a zpracovatelé
741
748
749
749
750
751
751
Integrace rutin do webových aplikací
Vytvoření rozhraní pro bonus zaměstnanců
Získávání více řádků
752
752
753
Shrnutí
753
Kapitola 32 Triggery MySQL
755
Úvod do triggerů
Proč používat triggery?
Vykonání akce před událostí
Vykonání akce po události
Triggery spouštěné „před“ versus triggery spouštěné „po“
755
756
756
757
758
Podpora triggerů v MySQL
Jak se vytvoří trigger
Prohlížení existujících triggerů
Modifikace triggeru
Odstranění triggeru
Kaskádové triggery
758
759
761
762
762
763
Integrace triggerů do webových aplikací
Shrnutí
764
766
Kapitola 33 Pohledy
767
Úvod do pohledů
Podpora pohledů v MySQL
Vytváření a vykonávání pohledů
Prohlížení informací o pohledu
Modifikace pohledu
Odstranění pohledu
Aktualizace pohledů
768
768
769
774
776
776
776
Začlenění pohledů do webových aplikací
Shrnutí
777
778
Velká kniha PHP a MySQL 5
Kapitola 34 Databázové dotazy v praxi
23
779
Ukázková data
Vytváření tabulárních výstup s PEAR
Instalace HTML_Table
Jak se vytvoří jednoduchá tabulka
Vytváření lépe čitelného výstupu řádků
Vytvoření tabulky z dat databáze
Zobecnění výstupního procesu
780
780
781
781
782
784
785
Seřazení výstupu
Vytvoření výstupu se stránkováním
Číslování stránek výpisu
Poddotazy
Porovnávací operace s poddotazy
Určování existence s poddotazy
Údržba databáze pomocí poddotazů
Používání poddotazů v PHP
787
788
791
793
794
794
796
796
Kurzory
Základy práce s kurzory
Vytvoření kurzoru
Otevření kurzoru
Práce s kurzorem
Uzavření kurzoru
Jak se kurzor používá s PHP
797
797
798
798
798
799
799
Shrnutí
800
Kapitola 35 Indexy a vyhledávání
801
Indexování databází
Primární klíče
Jedinečné indexy
Normální indexy
Fulltextové indexy
Doporučené praktiky pro práci s indexy
801
802
803
804
806
810
Vyhledávání pomocí formuláře
Jednoduché hledání
Rozšíření vyhledávacích možností
Fulltextové vyhledávání
811
811
812
814
Shrnutí
815
Obsah
24
Kapitola 36 Transakce
817
Co je transakce?
Možnosti MySQL pro transakční zpracování
Systémové požadavky
Vytvoření tabulky
Konfigurační parametry InnoDB
817
818
818
819
819
Ukázkový projekt
Ukázková data
Vykonáme konkrétní transakci
Zálohování a obnova tabulek InnoDB
Tipy pro práci s transakcemi
822
822
823
825
825
Budování transakčních aplikací s PHP
Směna zboží za hotové ještě jednou
826
826
Shrnutí
830
Kapitola 37 Import a export dat
831
Ukázková tabulka
Touha po inteligentním médiu
Export dat
Příkaz SELECT INTO OUTFILE
831
832
832
833
Import dat
Import dat příkazem LOAD DATA INFILE
Import dat s mysqlimport
Načítání dat do tabulky s PHP
836
836
839
842
Shrnutí
843
Rejstřík
845

Podobné dokumenty

Autentizace dat

Autentizace dat nacházeli ve většı́ vzdálenosti, zası́lali si zprávy. Dřı́ve se tak dělo pomocı́ poslů a kurýrů, kteřı́ předávali informace od odesı́latele k přı́jemci. U takto doručovaných zpráv ...

Více

Příloha 1_Tabulka splnění technických požadavků

Příloha 1_Tabulka splnění technických požadavků V HW karty implementována podpora hardwarové virtualizace na úrovní PCIe sběrnice. Podpora SAN Boot operačního systému přes FC/FCoE z diskového pole dodané v celém řešení. HW podpora FCoE.

Více

Datové formáty

Datové formáty pojmenovanou ucelenou jednotku, která obsahuje údaje určitého typu v předem dané formě (formátu), která určuje smysl dat. Typy souborů se rozdělují podle přípony. Pro zpracování informací je zapotř...

Více

Instalační manuál

Instalační manuál Na stránce pro nastavení databázového připojení vyberte typ databáze, na které chcete aplikaci provozovat. Vyplňte adresu databázového serveru. Pro Microsoft SQL Server je to většinou ve tvaru „náz...

Více

Staré mapy v pražských antikvariátech

Staré mapy v pražských antikvariátech Hlavní práce s databází se odvedla v programu MySQL. Jde o jeden z nejpouţívanějších programů pro tvorbu databází. Jednou z jeho výhod je, ţe za určitých podmínek, upřesněných licenční smlouvou, mů...

Více

Nabídka produktů a služeb pro Magento

Nabídka produktů a služeb pro Magento • Apache 1.3.x • Apache 2.0.x • Apache 2.2.x  PHP kompatibilita • 5.2.0 a vyšší • Požadovaná rozšíření: • PDO_MySQL • simplexml • mcrypt • hash • GD • DOM • iconv ová služba API)...

Více

Klient pro správu databáz´ı MySQL Zbynek Munzar

Klient pro správu databáz´ı MySQL Zbynek Munzar tento databázový systém značný podı́l na trhu. Kombinace MySQL, PHP2 a Apache3 je velmi oblı́bená při nasazovánı́ na webové servery.

Více

www server na platformě linux debian

www server na platformě linux debian 3.1 Poznámky k instalaci . . . . . . . 3.2 Instalace Debianu . . . . . . . . . 3.2.1 Rozdělení disku . . . . . . 3.2.2 Zbytek instalace . . . . . . 3.3 Základní nastavení . . . . . . . . 3.3.1 Vzdá...

Více

Paralelizace datových přenosů přes rozlehlé vysokorychlostní sítě

Paralelizace datových přenosů přes rozlehlé vysokorychlostní sítě kýžené vlastnosti paralelizmu pro náročný přenos klasickým způsobem nezískáme. K jejich dosažení je potřeba zabývat se cíleným využitím síťového paralelizmu pro logický přenos. Kromě zlepšení vlast...

Více

phpMyAdmin

phpMyAdmin © Cover foto: Jiří Heller, HELER.CZ s.r.o., www.heller.cz © Cover a layout: Ing. Pavel Kristián Informace, které jsou v této knize zveřejněny mohou byt chráněny jako patent. Jména produktů byla uve...

Více