PHP 5 & MySQL 5
Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger. Addison-Wesley trägt dieser Entwicklung Rechnung mit den Büchern der Open Source Library. Administratoren, Entwickler und User erhalten hier professionelles Know-how, um freie Software effizient einzusetzen. Behandelt werden sowohl Themen wie Betriebssysteme, Netzwerke und Sicherheit als auch Programmierung. Eine Auswahl aus unserem Programm: Der mit dem Web tanzt! Das erfolgreiche Buch über den Apache Webserver 2, jetzt in einer rundum aktualisierten und erweiterten Auflage. Sie erhalten hier das umfassende Wissen zur Installation, Konfiguration und Programmierung des Apache Webserver 2. Ein besonderer Schwerpunkt liegt auf den Themen LDAP, Sicherheit und Programmierung. Weiterhin geht es u.a. um Multiprotokollsupport, Ein- und Ausgabefilter, Mono (ASP.NET), IPv6, SSI, PHP, Perl und SSL. Egal, ob Sie unter Linux, Windows, FreeBSD oder Solaris arbeiten hier erfahren Sie, wie Sie den Apache 2 effizient einsetzen. Sebastian Wolfgarten Apache Webserver 2 ISBN 3-8273-2118-2 912 Seiten Euro 44,95 (D), Euro 46,30 (A) Das Buch gehört für viele Linux-Anwender einfach neben den Linux- PC wie die Installations-CD-ROMs und die Tasse Kaffee. (Linux Enterprise). DAS Standardwerk für Linux-Einsteiger und -Anwender ist jetzt vollständig überarbeitet und aktualisiert: Von den ersten Schritten (Installation) führt es direkt zu den wichtigsten Desktop- Anwendungen (neu: OpenOffice, Gimp 2.0, Digitalkameras einbinden, DVDs brennen). Die Themenschwerpunkte Konfiguration und Server-Konfiguration wurden stark erweitert (neu: WLAN, Firewall und VPN, Apache, PHP und MySQL etc.). Das Buch berücksichtigt die aktuellen Distributionen von SUSE, Red Hat, Fedora, Mandrake und Knoppix. Michael Koflers Bestseller wurden unter anderem mit dem Jolt-Linux Award und dem Linux New Media Award ausgezeichnet und in fünf Sprachen übersetzt. Michael Kofler Linux ISBN 3-8273-2158-1 1320 Seiten Euro 59,95 (D), Euro 61,70 (A)
Michael Kofler, Bernd Öggl PHP 5 & MySQL 5 Grundlagen, Programmiertechniken, Beispiele An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam
Die Deutsche Bibliothek CIP-Einheitsaufnahme Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt. 10 9 8 7 6 5 4 3 2 1 07 06 05 ISBN 3-8273-2190-5 2005 by Addison-Wesley Verlag, ein Imprint der Pearson Education Deutschland GmbH Martin-Kollar-Straße 10 12, D-81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: Marco Lindenbeck, webwo GmbH (mlindenbeck@webwo.de) Lektorat: Irmgard Wagner, Gräfelfing, irmwagner@t-online.de Korrektorat: Friederike, Daenecke, Zülpich Herstellung: Monika Weiher, mweiher@pearson.de Satz: Michael Kofler, Graz Druck: Bercker Graphischer Betrieb, Kevelaer Printed in Germany
Kapitelübersicht Vorwort... 19 Konzeption... 21 Teil I PHP-Grundlagen und -Programmiertechniken... 25 1 Installation und Konfiguration... 27 2 Einführung und Sprachelemente...83 3 Objektorientierte Programmierung...113 4 Wichtige PHP-Funktionen...141 5 PHP-Programmiertechniken... 167 Teil II MySQL-Grundlagen und -Programmiertechniken... 241 6 phpmyadmin... 243 7 Datenbank-Design... 277 8 SQL-Grundlagen...313 9 SQL-Rezepte... 345 10 PHP-Zugriff auf MySQL-Datenbanken...371 11 GIS-Funktionen... 457 12 Stored Procedures... 491 Teil III Beispielprojekte... 537 13 Internet-Umfragen... 539 14 Bilddatenbank... 565 15 Diskussionsforum... 597 16 TYPO3... 637 Anhang...665 A Neu in PHP 5... 667 B Neu in MySQL 5... 671 C Inhalt der beiliegenden CD-ROM... 675 Stichwortverzeichnis... 677
Inhaltsverzeichnis Vorwort... 19 Konzeption... 21 Teil I PHP-Grundlagen und -Programmiertechniken... 25 1 Installation und Konfiguration... 27 1.1 Versionen und Lizenzen... 27 1.1.1 Versionen...27 1.1.2 Lizenzen...29 1.2 Installation unter Windows... 31 1.2.1 Apache 2.0 installieren... 31 1.2.2 PHP 5.0 installieren...33 1.2.3 MySQL 4.1 oder 5.0 installieren...35 1.3 Installation unter Linux...40 1.3.1 XAMPP installieren... 41 1.3.2 MySQL 4.1 oder 5.0 installieren...45 1.3.3 Apache 2 und PHP 5 kompilieren...48 1.3.4 MySQL-Entwicklerversion kompilieren...52 1.4 Apache-Konfiguration... 55 1.4.1 Apache-Konfigurationsdatei... 55 1.4.2 Passwortschutz für Webverzeichnisse (.htaccess-datei)...58 1.5 PHP-Konfiguration... 61 1.6 MySQL-Konfiguration und -Administration... 65 1.6.1 MySQL-Konfiguration...65 1.6.2 MySQL-Administrationswerkzeuge...66 1.6.3 MySQL-Installation absichern... 71 1.7 Zeichensatz (latin1 oder Unicode UTF-8)... 72 1.7.1 Zeichensatzgrundlagen...73 1.7.2 Zeichensatzunterstützung in Apache, PHP und MySQL...74 1.8 Editor/Entwicklungsumgebung...82
Inhaltsverzeichnis 2 Einführung und Sprachelemente...83 2.1 Hello World...83 2.2 PHP- und HTML-Code kombinieren...85 2.3 Typen...88 2.3.1 Arrays... 89 2.3.2 Strings...91 2.4 Variablen und Konstanten...95 2.4.1 Variablen... 95 2.4.2 Konstanten... 97 2.5 Operatoren und andere Sonderzeichen...98 2.5.1 Operatoren... 98 2.5.2 Kommentare...100 2.5.3 Sonderzeichen... 101 2.6 Kontrollstrukturen... 102 2.6.1 if-abfragen...102 2.6.2 switch-konstruktionen...103 2.6.3 Schleifen...103 2.7 Funktionen definieren und aufrufen... 105 2.8 Fehlerbehandlung, Fehlerabsicherung... 108 2.8.1 Reaktion auf Programmfehler, Fehlermeldungen...108 2.8.2 Exceptions... 110 2.8.3 Fehlersuche/Debugging...111 2.9 Einbinden von Dateien... 111 3 Objektorientierte Programmierung...113 3.1 Einführung in OOP...113 3.1.1 Was ist OOP?... 113 3.1.2 Wer braucht OOP?... 114 3.1.3 Der Spagat von PHP: OOP und prozedural... 114 3.2 OO-Syntax in PHP 5...115 3.2.1 Erste Klasse... 115 3.2.2 Klassen erzeugen und erweitern... 116 3.2.3 Kapselung: Zugriff auf Member-Variablen und -Funktionen... 117 3.2.4 Variablen und Funktionen überladen... 119 3.2.5 Interfaces... 121 3.2.6 Fehlerbehandlung in Klassen...122 3.2.7 Tipps und Tricks...123 8