PHP 5.3 Fortgeschrittene Techniken der Web ?· 3.3 MySQL-Abfragen.....23 3.4 Rückgabe aus MySQL-Abfrage…

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • PHP5.3 Fortgeschrittene Techniken der Web-Programmierung

    GPHP53F

    Andreas Dittfurth

    1. Ausgabe, April 2010

  • I PHP 5.3 - Fortgeschrittene Techniken der Web-Programmierung

    2 HERDT-Verlag

    1 Bevor Sie beginnen.....................................4

    1.1 Zielgruppe und Vorkenntnisse ...................4 1.2 Verwendete Software.................................4 1.3 Anmerkungen zur neuen

    PHP-Version 5.3 ...........................................5 1.4 Aufbau und Konventionen.........................5

    2 MySQL und phpMyAdmin ..........................8 2.1 XAMPP: PHP und MySQL.............................8 2.2 phpMyAdmin...............................................8 2.3 Mit Datenbanken arbeiten.......................10 2.4 Mit Tabellen arbeiten ...............................12 2.5 Mit Daten arbeiten....................................14 2.6 bung ........................................................18

    3 Verwaltung von MySQL- Datenbanken mit PHP...............................20 3.1 Steuerung ber PHP-Skripte .....................20 3.2 Verbindungsaufnahme mit MySQL ..........20 3.3 MySQL-Abfragen.......................................23 3.4 Rckgabe aus MySQL-Abfrage

    auswerten ..................................................24 3.5 Fallbeispiel: skriptgesteuerte

    Datenmanipulation...................................26 3.6 Steuerung durch Formulare......................33 3.7 Allgemeine Informationen sammeln .......37 3.8 bung ........................................................41

    4 Arbeit mit MySQL-Datenbanken im Internet.................................................44 4.1 Verbindungsaufnahme .............................44 4.2 phpMyAdmin beim Provider ....................47 4.3 Import von Datenbankdaten beim

    Provider......................................................50 4.4 Automatisierung durch PHP .....................50

    5 Grundlagen der objektorientierten Programmierung (OOP) ............................52 5.1 OOP allgemein ..........................................52 5.2 OOP in PHP ................................................52 5.3 Eigene Kenntnisstufen hin zur OOP.........53 5.4 Praktische Umsetzung: zwei

    logische Bereiche.......................................53 5.5 Klassen - die Bauplne fr Objekte..........53 5.6 Objekte erstellen.......................................53 5.7 Eigenschaften ............................................54 5.8 Das Schlsselwort $this ..........................56 5.9 Klassenvariablen und -konstanten ...........56

    5.10 Methoden.................................................. 58 5.11 Setter- und Getter-Methoden.................. 60 5.12 Konstruktor ............................................... 61 5.13 Destruktor ................................................. 62 5.14 Objekte klonen ......................................... 65 5.15 Trennung von Code und Design .............. 67 5.16 Wichtige Unterschiede zu PHP 4.x ........... 67 5.17 bung........................................................ 68

    6 Weitere Mglichkeiten der OOP mit PHP 5.3 .................................................70 6.1 Magische Methoden................................. 70 6.2 Abgeleitete Klassen .................................. 74 6.3 Konstruktoren und Destruktoren

    bei Vererbung........................................... 77 6.4 Vererbung von Eigenschaften und

    Methoden.................................................. 78 6.5 Methoden berladen oder

    berschreiben ........................................... 80 6.6 Magische Konstanten ............................... 82 6.7 Typ Operator instanceof ...................... 82 6.8 Klassen- und Objektfunktionen ............... 83 6.9 Weiterfhrende Konzepte in der OOP.... 85 6.10 Die PEAR-Bibliothek ................................. 92 6.11 bungen.................................................... 96

    7 OOP und Datenbanken..............................98 7.1 MySQL Improved Extension (MySQLi)...... 98 7.2 PHP Data Objects (PDO).......................... 107 7.3 bungen.................................................. 112

    8 SQLite als Datenbankalternative ...........114 8.1 berblick ber SQLite............................. 114 8.2 SQLite mit PHP verwenden..................... 116 8.3 Praxis: einfache Beispieldatenbank

    mit SQLite................................................ 119 8.4 Datenaustausch mit MySQL.................... 121 8.5 SQLite objektorientiert........................... 122 8.6 Weitere Informationen zu SQLite.......... 124 8.7 bungen.................................................. 124

    9 Behandlung von Fehlern und Ausnahmen ......................................126 9.1 Fehlerprvention durch

    Namensrume......................................... 126 9.2 Behandlung von Fehlern

    (Error Handling) ...................................... 129 9.3 Unterdrcken von Fehlermeldungen

    mit dem Operator @................................ 130

  • Inhalt I

    HERDT-Verlag 3

    9.4 Fehleranzeige mit error_reporting()steuern................ 131

    9.5 Fehlerbehandlung mit set_error_handler() steuern........... 133

    9.6 Einsatz mehrerer Error-Handler............. 136 9.7 Eigene Fehler mit trigger_error()

    auslsen................................................... 138 9.8 Behandlung von Ausnahmen

    (Exception Handling).............................. 139 9.9 bungen ................................................. 144

    10 Sicherheit.................................................146 10.1 Sicherheit ist relativ ................................ 146 10.2 Grundregeln zum einfachen Schutz

    Ihrer Skripte ............................................ 147 10.3 Die hufigsten Angriffsarten ................. 154 10.4 bung...................................................... 165

    11 Regulre Ausdrcke................................166 11.1 Was sind regulre Ausdrcke?............... 166 11.2 Aufbau und Funktionsweise

    regulrer Ausdrcke............................... 166 11.3 Regulre Ausdrcke in PHP.................... 172 11.4 Weitere Informationen zu

    regulren Ausdrcken............................ 176 11.5 bung...................................................... 177

    Anhang: Installation und Konfiguration der Software.................................................178

    A.1 Testumgebung XAMPP: Installation und Konfiguration ..................................178

    A.2 Mit XAMPP arbeiten ...............................180 A.3 Texteditor fr PHP - Notepad++:

    Installation und Konfiguration............182 A.4 Mit den XAMPP-Konfigurationsdateien

    arbeiten ...................................................185 A.5 Zugriffsrechte von MySQL mit

    phpMyAdmin regeln...............................186 A.6 Globale Zugriffsrechte des MySQL-

    Administrators root ndern ................189 A.7 FTP-Programm FileZilla: Installation

    und Konfiguration ..................................190

    Stichwortverzeichnis ...................................196

  • 3 PHP 5.3 - Fortgeschrittene Techniken der Web-Programmierung

    20 HERDT-Verlag

    3 Verwaltung von MySQL-Datenbanken mit PHP

    In diesem Kapitel erfahren Sie

    wie Sie Datenbanken mit PHP steuern und verwalten wie Sie Datenstze anzeigen, ndern, hinzufgen und lschen wie Ihre Anwender Daten individuell ber Formulare verwalten Tipps und Tricks zur Bearbeitung von Daten

    Voraussetzungen

    SQL-Grundkenntnisse

    3.1 Steuerung ber PHP-Skripte

    Im letzten Kapitel haben Sie phpMyAdmin als administratives Werkzeug fr MySQL-Datenbanken kennen-gelernt und eine umfangreiche Beispieltabelle in eine Datenbank importiert. Darber hinaus konnten Sie SQL-Grundlagenkenntnisse erwerben bzw. auffrischen und praktisch in phpMyAdmin anwenden. Der Schwerpunkt dieses Kapitels liegt in der Steuerung von MySQL-Datenbanken mithilfe von PHP. Sie haben eine funktionstchtige Datenbank und bentigen keine weiteren Tools auer Ihren PHP-Skripten zur Bearbei-tung und Verwaltung Ihrer Daten.

    3.2 Verbindungsaufnahme mit MySQL

    Die Verbindungsaufnahme von PHP zur Verwaltung einer MySQL-Datenbank erfolgt in zwei Schritten. Zuerst wird eine Verbindung zum MySQL-Server hergestellt, danach die gewnschte Datenbank ausgewhlt. Voraus-setzung sind entsprechende Zugriffsberechtigungen, die der Benutzer haben muss. PHP mit dem MySQL-Server verbinden

    Eine Verbindung zum MySQL-Server erfolgt direkt aus dem PHP-Skript. Folgende Funktionen werden zum Aufbau und Beenden einer Verbindung zu einem MySQL-Server verwendet:

    mysql_connect(); Verbindung zum MySQL-Server aufnehmen mysql_close(); Verbindung zum verbundenen MySQL-Server beenden

    Syntax der Funktion mysql_connect() mysql_connect ([Server[:Port][, Benutzername[, Passwort[, neue Verbindung]]]]);

    Zur Herstellung einer Verbindung geben Sie den Namen des gewnschten Datenbank-Servers an, auf

    den Sie zugreifen wollen. Optional ist die Angabe eines Ports zur Verbindung mit dem Server. Standardmig wird Port 3306 verwendet. Die Parameter Benutzername und das dazugehrige Passwort authentifizieren den Benutzer am Datenbank-Server. Der Parameter neue Verbindung kann die Werte TRUE oder FALSE annehmen und steuert, ob ein zweiter Aufruf von mysql_connect() mit identischen Parametern eine neue Verbindung aufbauen darf oder nicht.

    Alle Angaben sind optional. Werden keine Parameter angegeben, wird als Server localhost ange-nommen, als Benutzername der Name des Benutzers, dem der Server-Prozess gehrt (Standard nach XAMPP-Installation ist ODBC), sowie ein leeres Passwort.

  • Ve