Slide 1

Slide 1 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Webentwicklung mit PHP und MySQL Dr. Kerstin Puschke Workshop, Uni Salzburg September 2012 K. Puschke phpMySQL

Slide 2

Slide 2 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Lizenz Lizenz Dieser Text steht unter einer Creative Commons Attribution-Share Alike 3.0 Germany Lizenz, siehe http://creativecommons.org/licenses/by-sa/3.0/de/ K. Puschke phpMySQL

Slide 3

Slide 3 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Hinweis Materialien Codebeispiele und Übungsaufgaben mit Erläuterungen und links im Wiki! K. Puschke phpMySQL

Slide 4

Slide 4 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Outline 1 Erste Schritte 2 Grundbegriffe des Web 3 PHP Programmierung 4 MySQL Datenbanken 5 Website mit Datenbankanbindung K. Puschke phpMySQL

Slide 5

Slide 5 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Outline 1 Erste Schritte Mit PHP-Dateien arbeiten PHP 2 Grundbegriffe des Web 3 PHP Programmierung 4 MySQL Datenbanken 5 Website mit Datenbankanbindung K. Puschke phpMySQL

Slide 6

Slide 6 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP PHP-Beispiel .php-Datei

Hallo

K. Puschke phpMySQL

Slide 7

Slide 7 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP PHP-Beispiel Ausgeliefertes HTML

Hallo

Hallo, Welt!

K. Puschke phpMySQL

Slide 8

Slide 8 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Allgemeine Syntax jeder Block PHP-Code eingeschlossen in oder K. Puschke phpMySQL

Slide 9

Slide 9 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Allgemeine Syntax jeder Block PHP-Code eingeschlossen in oder kann aus mehreren Zeilen Code bestehen Welt!"; echo "Na, wie geht’s?"; ?> K. Puschke phpMySQL

Slide 10

Slide 10 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Allgemeine Syntax jeder Block PHP-Code eingeschlossen in oder kann aus mehreren Zeilen Code bestehen Welt!"; echo "Na, wie geht’s?"; ?> jede Zeile Code endet mit einem ; K. Puschke phpMySQL

Slide 11

Slide 11 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Allgemeine Syntax jeder Block PHP-Code eingeschlossen in oder kann aus mehreren Zeilen Code bestehen Welt!"; echo "Na, wie geht’s?"; ?> jede Zeile Code endet mit einem ; Leerzeilen und Einrückungen werden nicht beachtet K. Puschke phpMySQL

Slide 12

Slide 12 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Allgemeine Syntax jeder Block PHP-Code eingeschlossen in oder kann aus mehreren Zeilen Code bestehen Welt!"; echo "Na, wie geht’s?"; ?> jede Zeile Code endet mit einem ; Leerzeilen und Einrückungen werden nicht beachtet Groß- und Kleinschreibung relevant K. Puschke phpMySQL

Slide 13

Slide 13 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Kommentare Kommentare werden nicht ausgeführt K. Puschke phpMySQL

Slide 14

Slide 14 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Kommentare Kommentare werden nicht ausgeführt dienen zur Erläuterung des Programms oder helfen beim Debuggen K. Puschke phpMySQL

Slide 15

Slide 15 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Kommentare Kommentare werden nicht ausgeführt dienen zur Erläuterung des Programms oder helfen beim Debuggen # oder // kommentieren den Rest der Zeile aus echo “Hallo, Welt”; # Erklärung K. Puschke phpMySQL

Slide 16

Slide 16 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Kommentare Kommentare werden nicht ausgeführt dienen zur Erläuterung des Programms oder helfen beim Debuggen # oder // kommentieren den Rest der Zeile aus echo “Hallo, Welt”; # Erklärung Blockkommentare mit /* ...*/ K. Puschke phpMySQL

Slide 17

Slide 17 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Kommentare Kommentare werden nicht ausgeführt dienen zur Erläuterung des Programms oder helfen beim Debuggen # oder // kommentieren den Rest der Zeile aus echo “Hallo, Welt”; # Erklärung Blockkommentare mit /* ...*/ Vorsicht: PHP ignoriert PHP-Kommentare, HTML ignoriert HTML-Kommentare K. Puschke phpMySQL

Slide 18

Slide 18 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! K. Puschke phpMySQL

Slide 19

Slide 19 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Mit PHP-Dateien arbeiten PHP Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! aussgekräftige Kommentare K. Puschke phpMySQL

Slide 20

Slide 20 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Outline 1 Erste Schritte 2 Grundbegriffe des Web Begriffsklärung Statische Webseiten Dynamische Webseiten 3 PHP Programmierung 4 MySQL Datenbanken 5 Website mit Datenbankanbindung K. Puschke phpMySQL

Slide 21

Slide 21 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Grundbegriffe WWW: World Wide Web - ein Netzwerk verlinkter Dokumente (Webseiten), nutzbar via Internet K. Puschke phpMySQL

Slide 22

Slide 22 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Grundbegriffe WWW: World Wide Web - ein Netzwerk verlinkter Dokumente (Webseiten), nutzbar via Internet HTTP: Hypertext Transfer Protocol - ein Protokoll zum Transport von Inhalten über das WWW K. Puschke phpMySQL

Slide 23

Slide 23 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Grundbegriffe WWW: World Wide Web - ein Netzwerk verlinkter Dokumente (Webseiten), nutzbar via Internet HTTP: Hypertext Transfer Protocol - ein Protokoll zum Transport von Inhalten über das WWW HTML: Hypertext Markup Language - eine Auszeichnungssprache für Webseiten K. Puschke phpMySQL

Slide 24

Slide 24 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Grundbegriffe WWW: World Wide Web - ein Netzwerk verlinkter Dokumente (Webseiten), nutzbar via Internet HTTP: Hypertext Transfer Protocol - ein Protokoll zum Transport von Inhalten über das WWW HTML: Hypertext Markup Language - eine Auszeichnungssprache für Webseiten PHP: PHP Hypertext Preprocessor - eine Programmiersprache K. Puschke phpMySQL

Slide 25

Slide 25 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Grundbegriffe WWW: World Wide Web - ein Netzwerk verlinkter Dokumente (Webseiten), nutzbar via Internet HTTP: Hypertext Transfer Protocol - ein Protokoll zum Transport von Inhalten über das WWW HTML: Hypertext Markup Language - eine Auszeichnungssprache für Webseiten PHP: PHP Hypertext Preprocessor - eine Programmiersprache MySQL: ein Datenbanksystem K. Puschke phpMySQL

Slide 26

Slide 26 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client K. Puschke phpMySQL

Slide 27

Slide 27 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet K. Puschke phpMySQL

Slide 28

Slide 28 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) K. Puschke phpMySQL

Slide 29

Slide 29 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver K. Puschke phpMySQL

Slide 30

Slide 30 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver Software, die Webdienste anbietet d.h. Inhalte (z.B. Webseiten) per HTTP an Client ausliefert K. Puschke phpMySQL

Slide 31

Slide 31 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver Software, die Webdienste anbietet d.h. Inhalte (z.B. Webseiten) per HTTP an Client ausliefert z.B. Apache Webserver,. . . K. Puschke phpMySQL

Slide 32

Slide 32 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver Software, die Webdienste anbietet d.h. Inhalte (z.B. Webseiten) per HTTP an Client ausliefert z.B. Apache Webserver,. . . Datenbankserver K. Puschke phpMySQL

Slide 33

Slide 33 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver Software, die Webdienste anbietet d.h. Inhalte (z.B. Webseiten) per HTTP an Client ausliefert z.B. Apache Webserver,. . . Datenbankserver Software, die Datenbankdienste (ein Datenbanksystem) anbietet K. Puschke phpMySQL

Slide 34

Slide 34 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Client und Server Client Software, die Inhalte anfordert und verarbeitet i.d.R. ein Webbrowser (Firefox, Internet Explorer,. . . ) Webserver Software, die Webdienste anbietet d.h. Inhalte (z.B. Webseiten) per HTTP an Client ausliefert z.B. Apache Webserver,. . . Datenbankserver Software, die Datenbankdienste (ein Datenbanksystem) anbietet manchmal auch gemeint: der Rechner, auf dem die jeweilige Software läuft K. Puschke phpMySQL

Slide 35

Slide 35 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Inhalte liegen als HTML-Dateien bereits fertig auf dem Server vor K. Puschke phpMySQL

Slide 36

Slide 36 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Inhalte liegen als HTML-Dateien bereits fertig auf dem Server vor jeder Client bekommt jederzeit dieselben Inhalte ausgeliefert K. Puschke phpMySQL

Slide 37

Slide 37 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Ablauf Client (Browser) fordert (per HTTP) Webseite an K. Puschke phpMySQL

Slide 38

Slide 38 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Ablauf Client (Browser) fordert (per HTTP) Webseite an Webserver erhält Anfrage K. Puschke phpMySQL

Slide 39

Slide 39 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Ablauf Client (Browser) fordert (per HTTP) Webseite an Webserver erhält Anfrage Webserver findet HTML-Datei K. Puschke phpMySQL

Slide 40

Slide 40 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Ablauf Client (Browser) fordert (per HTTP) Webseite an Webserver erhält Anfrage Webserver findet HTML-Datei Webserver liefert HTML (per HTTP) an Client aus K. Puschke phpMySQL

Slide 41

Slide 41 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Statische Webseiten Ablauf Client (Browser) fordert (per HTTP) Webseite an Webserver erhält Anfrage Webserver findet HTML-Datei Webserver liefert HTML (per HTTP) an Client aus Client verarbeitet HTML, Browser stellt Webseite dar K. Puschke phpMySQL

Slide 42

Slide 42 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite Inhalte werden dynamisch ermittelt K. Puschke phpMySQL

Slide 43

Slide 43 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite Inhalte werden dynamisch ermittelt clientseitig im Browser (javascript) K. Puschke phpMySQL

Slide 44

Slide 44 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite Inhalte werden dynamisch ermittelt clientseitig im Browser (javascript) serverseitig (php, ruby, perl,. . . ) K. Puschke phpMySQL

Slide 45

Slide 45 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an K. Puschke phpMySQL

Slide 46

Slide 46 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei K. Puschke phpMySQL

Slide 47

Slide 47 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code K. Puschke phpMySQL

Slide 48

Slide 48 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code wird ausgeführt K. Puschke phpMySQL

Slide 49

Slide 49 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code wird ausgeführt interagiert ggf. mit Datenbanksystem K. Puschke phpMySQL

Slide 50

Slide 50 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code wird ausgeführt interagiert ggf. mit Datenbanksystem erzeugt ggf. HTML K. Puschke phpMySQL

Slide 51

Slide 51 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code wird ausgeführt interagiert ggf. mit Datenbanksystem erzeugt ggf. HTML Webserver liefert HTML an Client aus K. Puschke phpMySQL

Slide 52

Slide 52 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Dynamische Webseite mit PHP Ablauf Client (Browser) fordert Webseite an Webserver findet PHP-Datei PHP-Code wird ausgeführt interagiert ggf. mit Datenbanksystem erzeugt ggf. HTML Webserver liefert HTML an Client aus Client verarbeitet HTML Browser stellt Webseite dar K. Puschke phpMySQL

Slide 53

Slide 53 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem K. Puschke phpMySQL

Slide 54

Slide 54 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem Datenspeicherung und Datenverwaltung K. Puschke phpMySQL

Slide 55

Slide 55 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem Datenspeicherung und Datenverwaltung Webserver K. Puschke phpMySQL

Slide 56

Slide 56 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem Datenspeicherung und Datenverwaltung Webserver Anwendungslogik und Darstellung K. Puschke phpMySQL

Slide 57

Slide 57 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem Datenspeicherung und Datenverwaltung Webserver Anwendungslogik und Darstellung Client (Browser) K. Puschke phpMySQL

Slide 58

Slide 58 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Begriffsklärung Statische Webseiten Dynamische Webseiten Architektur Drei-Schichten-Architektur Datenbanksystem Datenspeicherung und Datenverwaltung Webserver Anwendungslogik und Darstellung Client (Browser) Anfragen stellen, Anworten verarbeiten K. Puschke phpMySQL

Slide 59

Slide 59 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Outline 1 Erste Schritte 2 Grundbegriffe des Web 3 PHP Programmierung Skalare Daten Ablaufsteuerung Userinput verarbeiten 4 MySQL Datenbanken 5 Website mit Datenbankanbindung K. Puschke phpMySQL

Slide 60

Slide 60 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalare Datentypen integer ganze Zahl, z.B. 42 K. Puschke phpMySQL

Slide 61

Slide 61 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalare Datentypen integer ganze Zahl, z.B. 42 float reelle Zahl, z.B. 3.14 K. Puschke phpMySQL

Slide 62

Slide 62 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalare Datentypen integer ganze Zahl, z.B. 42 float reelle Zahl, z.B. 3.14 string Zeichenkette, z.B. “Hallo, Welt!” oder “7” K. Puschke phpMySQL

Slide 63

Slide 63 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalare Datentypen integer ganze Zahl, z.B. 42 float reelle Zahl, z.B. 3.14 string Zeichenkette, z.B. “Hallo, Welt!” oder “7” boolean true oder false K. Puschke phpMySQL

Slide 64

Slide 64 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalare Datentypen integer ganze Zahl, z.B. 42 float reelle Zahl, z.B. 3.14 string Zeichenkette, z.B. “Hallo, Welt!” oder “7” boolean true oder false php konvertiert ggf. automatisch K. Puschke phpMySQL

Slide 65

Slide 65 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... K. Puschke phpMySQL

Slide 66

Slide 66 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... keine explizite Initialisierung oder Deklaration nötig K. Puschke phpMySQL

Slide 67

Slide 67 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... keine explizite Initialisierung oder Deklaration nötig Zuweisungsoperator = K. Puschke phpMySQL

Slide 68

Slide 68 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... keine explizite Initialisierung oder Deklaration nötig Zuweisungsoperator = $username = “alice”; K. Puschke phpMySQL

Slide 69

Slide 69 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... keine explizite Initialisierung oder Deklaration nötig Zuweisungsoperator = $username = “alice”; $begruessung = “Hallo, $username!”; K. Puschke phpMySQL

Slide 70

Slide 70 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Skalarvariablen Variablennamen beginnen mit $: $username, $NachName, $Telefon2,... keine explizite Initialisierung oder Deklaration nötig Zuweisungsoperator = $username = “alice”; $begruessung = “Hallo, $username!”; $begruessung = “$begruessung Herzlich Willkommen!”; K. Puschke phpMySQL

Slide 71

Slide 71 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Variablen Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! K. Puschke phpMySQL

Slide 72

Slide 72 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Variablen Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! aussagekräftige Variablennamen wählen K. Puschke phpMySQL

Slide 73

Slide 73 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Ablaufsteuerung Good Practice In längeren if...elseif...-Konstrukten einen else-Zweig vorsehen! K. Puschke phpMySQL

Slide 74

Slide 74 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Ablaufsteuerung Good Practice In längeren if...elseif...-Konstrukten einen else-Zweig vorsehen! Abfangen unvorhergesehener Ereignisse K. Puschke phpMySQL

Slide 75

Slide 75 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Ablaufsteuerung Good Practice In längeren if...elseif...-Konstrukten einen else-Zweig vorsehen! Abfangen unvorhergesehener Ereignisse ggf. sogar Programmabbruch mit Fehlermeldung K. Puschke phpMySQL

Slide 76

Slide 76 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! K. Puschke phpMySQL

Slide 77

Slide 77 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! Einrückungen K. Puschke phpMySQL

Slide 78

Slide 78 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! Einrückungen Leerzeilen K. Puschke phpMySQL

Slide 79

Slide 79 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! Einrückungen Leerzeilen Zeilenumbrüche K. Puschke phpMySQL

Slide 80

Slide 80 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formatierung Good Practice Guter Code ist nicht nur maschinen-, sondern auch menschenlesbar! Einrückungen Leerzeilen Zeilenumbrüche Klammern verwenden in langen, komplexen Ausdrücken K. Puschke phpMySQL

Slide 81

Slide 81 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) K. Puschke phpMySQL

Slide 82

Slide 82 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ K. Puschke phpMySQL

Slide 83

Slide 83 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ URL incl. Parameter kann direkt im Browser aufgerufen und einfach geändert werden (bookmarks, history) K. Puschke phpMySQL

Slide 84

Slide 84 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ URL incl. Parameter kann direkt im Browser aufgerufen und einfach geändert werden (bookmarks, history) GET und POST sind unverschlüsselt und user können beliebige Daten senden K. Puschke phpMySQL

Slide 85

Slide 85 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ URL incl. Parameter kann direkt im Browser aufgerufen und einfach geändert werden (bookmarks, history) GET und POST sind unverschlüsselt und user können beliebige Daten senden Faustregel: K. Puschke phpMySQL

Slide 86

Slide 86 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ URL incl. Parameter kann direkt im Browser aufgerufen und einfach geändert werden (bookmarks, history) GET und POST sind unverschlüsselt und user können beliebige Daten senden Faustregel: Daten dienen nur der Ablaufsteuerung (z.B. Anzeige bestimmter Produktkategorie): GET K. Puschke phpMySQL

Slide 87

Slide 87 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Formulare GET und POST Methode GET oder POST wählen (default GET) GET „hängt Daten an URL dran “ URL incl. Parameter kann direkt im Browser aufgerufen und einfach geändert werden (bookmarks, history) GET und POST sind unverschlüsselt und user können beliebige Daten senden Faustregel: Daten dienen nur der Ablaufsteuerung (z.B. Anzeige bestimmter Produktkategorie): GET Daten weitergehend benötigt (z.B. Bestellung in Datenbank schreiben): POST K. Puschke phpMySQL

Slide 88

Slide 88 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten XSS Cross-Site Scripting verbreitete Sicherheitslücke K. Puschke phpMySQL

Slide 89

Slide 89 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten XSS Cross-Site Scripting verbreitete Sicherheitslücke Opfer auf präparierte links locken: example.com?name=boeses_java_script K. Puschke phpMySQL

Slide 90

Slide 90 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten XSS Cross-Site Scripting verbreitete Sicherheitslücke Opfer auf präparierte links locken: example.com?name=boeses_java_script persistentes XSS: Schadcode in die Datenbank schreiben K. Puschke phpMySQL

Slide 91

Slide 91 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING ALL Input is EVIL! K. Puschke phpMySQL

Slide 92

Slide 92 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING ALL Input is EVIL! user geben unabsichtlich Unerwartetes ein K. Puschke phpMySQL

Slide 93

Slide 93 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING ALL Input is EVIL! user geben unabsichtlich Unerwartetes ein user geben absichtlich Unerwünschtes ein K. Puschke phpMySQL

Slide 94

Slide 94 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING ALL Input is EVIL! user geben unabsichtlich Unerwartetes ein user geben absichtlich Unerwünschtes ein Eingaben können sehr großen Schaden anrichten K. Puschke phpMySQL

Slide 95

Slide 95 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING All Input is Evil! K. Puschke phpMySQL

Slide 96

Slide 96 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING All Input is Evil! user benutzen nicht das Formular, erzeugen die POST/GET-Daten selbst K. Puschke phpMySQL

Slide 97

Slide 97 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Userinput WARNING All Input is Evil! user benutzen nicht das Formular, erzeugen die POST/GET-Daten selbst deshalb: auch Eingaben prüfen, die vermeintlich vorgegebene Werte haben (radiobuttons, menus) K. Puschke phpMySQL

Slide 98

Slide 98 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Eingaben filtern Whitelist: explizit festlegen, welche Zeichen zulässig sind (z.B. nur Buchstaben), alles andere entfernen K. Puschke phpMySQL

Slide 99

Slide 99 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Eingaben filtern Whitelist: explizit festlegen, welche Zeichen zulässig sind (z.B. nur Buchstaben), alles andere entfernen Blacklist: explizit festlegen, welche Zeichen unzulässig sind (z.B. <,>,/), diese entfernen K. Puschke phpMySQL

Slide 100

Slide 100 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Eingaben filtern Whitelist: explizit festlegen, welche Zeichen zulässig sind (z.B. nur Buchstaben), alles andere entfernen Blacklist: explizit festlegen, welche Zeichen unzulässig sind (z.B. <,>,/), diese entfernen bei Erstellung der Listen kann leicht etwas übersehen werden - Filterungen sind daher fehleranfällig! K. Puschke phpMySQL

Slide 101

Slide 101 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Escape/Maskieren Eingaben vor der weiteren Verarbeitung escapen, d.h. gefährliche Zeichen maskieren K. Puschke phpMySQL

Slide 102

Slide 102 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Escape/Maskieren Eingaben vor der weiteren Verarbeitung escapen, d.h. gefährliche Zeichen maskieren abhängig von der Art der weiteren Verarbeitung K. Puschke phpMySQL

Slide 103

Slide 103 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Escape/Maskieren Eingaben vor der weiteren Verarbeitung escapen, d.h. gefährliche Zeichen maskieren abhängig von der Art der weiteren Verarbeitung Beispiel: für Ausgabe von HTML gefährliche Zeichen in HTML-Entities umwandeln K. Puschke phpMySQL

Slide 104

Slide 104 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Skalare Daten Ablaufsteuerung Userinput verarbeiten Eingaben unschädlich machen Escape/Maskieren Eingaben vor der weiteren Verarbeitung escapen, d.h. gefährliche Zeichen maskieren abhängig von der Art der weiteren Verarbeitung Beispiel: für Ausgabe von HTML gefährliche Zeichen in HTML-Entities umwandeln geeignete php-Funktionen vorhanden, keine Gefahr etwas zu vergessen - weniger fehleranfällig K. Puschke phpMySQL

Slide 105

Slide 105 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Outline 1 Erste Schritte 2 Grundbegriffe des Web 3 PHP Programmierung 4 MySQL Datenbanken Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken 5 Website mit Datenbankanbindung K. Puschke phpMySQL

Slide 106

Slide 106 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten K. Puschke phpMySQL

Slide 107

Slide 107 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) K. Puschke phpMySQL

Slide 108

Slide 108 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) Datenbank: strukturiert abgelegte Daten K. Puschke phpMySQL

Slide 109

Slide 109 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) Datenbank: strukturiert abgelegte Daten zu verwaltende Daten, z.B. Adressen K. Puschke phpMySQL

Slide 110

Slide 110 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) Datenbank: strukturiert abgelegte Daten zu verwaltende Daten, z.B. Adressen Datenbankschema: Metadaten zur Datenbankdefinition K. Puschke phpMySQL

Slide 111

Slide 111 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) Datenbank: strukturiert abgelegte Daten zu verwaltende Daten, z.B. Adressen Datenbankschema: Metadaten zur Datenbankdefinition Datenbankmanagementsystem: Software zur Verwaltung der Daten K. Puschke phpMySQL

Slide 112

Slide 112 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltung von Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS) Datenbank: strukturiert abgelegte Daten zu verwaltende Daten, z.B. Adressen Datenbankschema: Metadaten zur Datenbankdefinition Datenbankmanagementsystem: Software zur Verwaltung der Daten Datenbank definieren, erzeugen, manipulieren K. Puschke phpMySQL

Slide 113

Slide 113 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS K. Puschke phpMySQL

Slide 114

Slide 114 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen K. Puschke phpMySQL

Slide 115

Slide 115 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen auch eingebettet in anderen Anwendungen K. Puschke phpMySQL

Slide 116

Slide 116 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen auch eingebettet in anderen Anwendungen schwedische Firma MySQL AB, dann Sun Microsystems, dann Übernahme durch Oracle K. Puschke phpMySQL

Slide 117

Slide 117 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen auch eingebettet in anderen Anwendungen schwedische Firma MySQL AB, dann Sun Microsystems, dann Übernahme durch Oracle kostenlose Community-Version, freie Software (GPL) K. Puschke phpMySQL

Slide 118

Slide 118 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen auch eingebettet in anderen Anwendungen schwedische Firma MySQL AB, dann Sun Microsystems, dann Übernahme durch Oracle kostenlose Community-Version, freie Software (GPL) kostenpflichtige Enterprise-Version K. Puschke phpMySQL

Slide 119

Slide 119 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL DBMS sehr verbreitet in Webanwendungen auch eingebettet in anderen Anwendungen schwedische Firma MySQL AB, dann Sun Microsystems, dann Übernahme durch Oracle kostenlose Community-Version, freie Software (GPL) kostenpflichtige Enterprise-Version Relationales DBMS K. Puschke phpMySQL

Slide 120

Slide 120 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) K. Puschke phpMySQL

Slide 121

Slide 121 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. K. Puschke phpMySQL

Slide 122

Slide 122 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL K. Puschke phpMySQL

Slide 123

Slide 123 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL K. Puschke phpMySQL

Slide 124

Slide 124 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle K. Puschke phpMySQL

Slide 125

Slide 125 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle . . . K. Puschke phpMySQL

Slide 126

Slide 126 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle . . . Datenbank als Sammlung von Relationen (Tabellen) K. Puschke phpMySQL

Slide 127

Slide 127 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle . . . Datenbank als Sammlung von Relationen (Tabellen) Relation: Menge von Tupeln (Datensätzen, Zeilen) K. Puschke phpMySQL

Slide 128

Slide 128 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle . . . Datenbank als Sammlung von Relationen (Tabellen) Relation: Menge von Tupeln (Datensätzen, Zeilen) unsortiert K. Puschke phpMySQL

Slide 129

Slide 129 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Relationales Modell E.F. Codd (1970) hohe Verbreitung seit den 80er Jahren, z.B. MySQL PostgreSQL Oracle . . . Datenbank als Sammlung von Relationen (Tabellen) Relation: Menge von Tupeln (Datensätzen, Zeilen) unsortiert keine Duplikate K. Puschke phpMySQL

Slide 130

Slide 130 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Client und Server Datenbankserver: Software, die Datenbankdienste (ein Datenbanksystem) anbietet K. Puschke phpMySQL

Slide 131

Slide 131 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Client und Server Datenbankserver: Software, die Datenbankdienste (ein Datenbanksystem) anbietet auch der Rechner, auf dem dieser Dienst läuft K. Puschke phpMySQL

Slide 132

Slide 132 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Client und Server Datenbankserver: Software, die Datenbankdienste (ein Datenbanksystem) anbietet auch der Rechner, auf dem dieser Dienst läuft Anwendung oder Client greift auf den Datenbankserver zu K. Puschke phpMySQL

Slide 133

Slide 133 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql K. Puschke phpMySQL

Slide 134

Slide 134 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin K. Puschke phpMySQL

Slide 135

Slide 135 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools K. Puschke phpMySQL

Slide 136

Slide 136 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . K. Puschke phpMySQL

Slide 137

Slide 137 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen K. Puschke phpMySQL

Slide 138

Slide 138 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki K. Puschke phpMySQL

Slide 139

Slide 139 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress K. Puschke phpMySQL

Slide 140

Slide 140 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress unsere selbstprogrammierte Anwendung K. Puschke phpMySQL

Slide 141

Slide 141 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress unsere selbstprogrammierte Anwendung . . . K. Puschke phpMySQL

Slide 142

Slide 142 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress unsere selbstprogrammierte Anwendung . . . Anwendungen mit eingebetteter Datenbank K. Puschke phpMySQL

Slide 143

Slide 143 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress unsere selbstprogrammierte Anwendung . . . Anwendungen mit eingebetteter Datenbank Zimbra K. Puschke phpMySQL

Slide 144

Slide 144 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools . . . Webanwendungen MediaWiki WordPress unsere selbstprogrammierte Anwendung . . . Anwendungen mit eingebetteter Datenbank Zimbra . . . K. Puschke phpMySQL

Slide 145

Slide 145 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Erste Befehle SHOW DATABASES zeigt alle Datenbanken K. Puschke phpMySQL

Slide 146

Slide 146 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Erste Befehle SHOW DATABASES zeigt alle Datenbanken USE datenbank wählt Datenbank datenbank aus K. Puschke phpMySQL

Slide 147

Slide 147 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Erste Befehle SHOW DATABASES zeigt alle Datenbanken USE datenbank wählt Datenbank datenbank aus SHOW TABLES zeigt Tabellen der gewählten Datenbank K. Puschke phpMySQL

Slide 148

Slide 148 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Erste Befehle SHOW DATABASES zeigt alle Datenbanken USE datenbank wählt Datenbank datenbank aus SHOW TABLES zeigt Tabellen der gewählten Datenbank DESCRIBE tabelle zeigt Spalten der Tabelle an K. Puschke phpMySQL

Slide 149

Slide 149 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT K. Puschke phpMySQL

Slide 150

Slide 150 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind K. Puschke phpMySQL

Slide 151

Slide 151 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle K. Puschke phpMySQL

Slide 152

Slide 152 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen K. Puschke phpMySQL

Slide 153

Slide 153 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen SELECT * FROM KundInnen K. Puschke phpMySQL

Slide 154

Slide 154 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen SELECT * FROM KundInnen ORDER BY K. Puschke phpMySQL

Slide 155

Slide 155 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen SELECT * FROM KundInnen ORDER BY sortiert Ausgabe K. Puschke phpMySQL

Slide 156

Slide 156 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen I SELECT verlangt Angabe von Spalte(n) und Tabellen, die auszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen SELECT * FROM KundInnen ORDER BY sortiert Ausgabe SELECT Name,Vorname FROM KundInnen ORDER BY Name K. Puschke phpMySQL

Slide 157

Slide 157 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Formatierung Good Practice SELECT * nicht in Anwendungen verwenden! K. Puschke phpMySQL

Slide 158

Slide 158 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Formatierung Good Practice SELECT * nicht in Anwendungen verwenden! praktisch bei interaktivem Zugriff auf DB K. Puschke phpMySQL

Slide 159

Slide 159 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Formatierung Good Practice SELECT * nicht in Anwendungen verwenden! praktisch bei interaktivem Zugriff auf DB gefährlich in Anwendungen - das Datenbankschema könnte sich z.B. geändert haben K. Puschke phpMySQL

Slide 160

Slide 160 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT K. Puschke phpMySQL

Slide 161

Slide 161 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge K. Puschke phpMySQL

Slide 162

Slide 162 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert K. Puschke phpMySQL

Slide 163

Slide 163 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5 K. Puschke phpMySQL

Slide 164

Slide 164 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5 NULL K. Puschke phpMySQL

Slide 165

Slide 165 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5 NULL Kein Eintrag (z.B. für Kundin Müller keine Telefonnummer vermerkt): NULL K. Puschke phpMySQL

Slide 166

Slide 166 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5 NULL Kein Eintrag (z.B. für Kundin Müller keine Telefonnummer vermerkt): NULL NULL K. Puschke phpMySQL

Slide 167

Slide 167 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen II LIMIT beschränkt die Zahl der ausgegeben Einträge häufig mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5 NULL Kein Eintrag (z.B. für Kundin Müller keine Telefonnummer vermerkt): NULL NULL NULL ist etwas anderes als die Zahl Null oder ein leerer String! K. Puschke phpMySQL

Slide 168

Slide 168 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken I WHERE K. Puschke phpMySQL

Slide 169

Slide 169 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken I WHERE schränkt Ergebnisse ein K. Puschke phpMySQL

Slide 170

Slide 170 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken I WHERE schränkt Ergebnisse ein SELECT Name FROM KundInnen WHERE Stadt = ’Salzburg’ K. Puschke phpMySQL

Slide 171

Slide 171 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken I WHERE schränkt Ergebnisse ein SELECT Name FROM KundInnen WHERE Stadt = ’Salzburg’ SELECT Name FROM KundInnen WHERE Vorname IS NULL K. Puschke phpMySQL

Slide 172

Slide 172 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken II AND und OR K. Puschke phpMySQL

Slide 173

Slide 173 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken II AND und OR verknüpfen mehrere Bedingungen K. Puschke phpMySQL

Slide 174

Slide 174 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken II AND und OR verknüpfen mehrere Bedingungen SELECT Name FROM KundInnen WHERE Stadt = ’Salzburg’ AND Vorname=’Clara’ K. Puschke phpMySQL

Slide 175

Slide 175 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen einschränken III UNION K. Puschke phpMySQL

Slide 176

Slide 176 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen einschränken III UNION vereinigt Ergebnisse K. Puschke phpMySQL

Slide 177

Slide 177 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Abfragen einschränken III UNION vereinigt Ergebnisse (SELECT Name FROM KundInnen WHERE Stadt =’Salzburg’) UNION (SELECT Name FROM KundInnen WHERE Stadt = ’Wien’) K. Puschke phpMySQL

Slide 178

Slide 178 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken IV SELECT DISTINCT K. Puschke phpMySQL

Slide 179

Slide 179 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken IV SELECT DISTINCT gibt nur unterschiedliche Ergebnisse aus K. Puschke phpMySQL

Slide 180

Slide 180 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Einführung Überblick verschaffen Einfache Abfragen Ergebnisse einschränken Ergebnisse einschränken IV SELECT DISTINCT gibt nur unterschiedliche Ergebnisse aus SELECT DISTINCT Stadt FROM KundInnen K. Puschke phpMySQL

Slide 181

Slide 181 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Outline 1 Erste Schritte 2 Grundbegriffe des Web 3 PHP Programmierung 4 MySQL Datenbanken 5 Website mit Datenbankanbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection K. Puschke phpMySQL

Slide 182

Slide 182 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden K. Puschke phpMySQL

Slide 183

Slide 183 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen K. Puschke phpMySQL

Slide 184

Slide 184 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen Datenbankserver down, Firewall falsch konfiguriert, Verbindungsdaten fehlerhaft,. . . K. Puschke phpMySQL

Slide 185

Slide 185 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen Datenbankserver down, Firewall falsch konfiguriert, Verbindungsdaten fehlerhaft,. . . Fehlerfall berücksichtigen (Meldung und Programmabbruch,. . . ) K. Puschke phpMySQL

Slide 186

Slide 186 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen Datenbankserver down, Firewall falsch konfiguriert, Verbindungsdaten fehlerhaft,. . . Fehlerfall berücksichtigen (Meldung und Programmabbruch,. . . ) Verbindung kann für mehrere Datenbankabfragen benutzt werden K. Puschke phpMySQL

Slide 187

Slide 187 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen Datenbankserver down, Firewall falsch konfiguriert, Verbindungsdaten fehlerhaft,. . . Fehlerfall berücksichtigen (Meldung und Programmabbruch,. . . ) Verbindung kann für mehrere Datenbankabfragen benutzt werden nicht mehr benötigte Verbindung kann manuell getrennt werden K. Puschke phpMySQL

Slide 188

Slide 188 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankverbindung vor Verwendung der Datenbank muß eine Verbindung zum Datenbankserver aufgebaut werden Verbindungsaufbau kann fehlschlagen Datenbankserver down, Firewall falsch konfiguriert, Verbindungsdaten fehlerhaft,. . . Fehlerfall berücksichtigen (Meldung und Programmabbruch,. . . ) Verbindung kann für mehrere Datenbankabfragen benutzt werden nicht mehr benötigte Verbindung kann manuell getrennt werden nach Ende des php-Skripts wird automatisch getrennt K. Puschke phpMySQL

Slide 189

Slide 189 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankinhalt Datenbankinhalte sind u.U. unsicher K. Puschke phpMySQL

Slide 190

Slide 190 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankinhalt Datenbankinhalte sind u.U. unsicher Ergebnisse von Datenbankabfragen ggf. vor weiterer Verwendung unschädlich machen K. Puschke phpMySQL

Slide 191

Slide 191 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Datenbankinhalt Datenbankinhalte sind u.U. unsicher Ergebnisse von Datenbankabfragen ggf. vor weiterer Verwendung unschädlich machen geeignet escapen K. Puschke phpMySQL

Slide 192

Slide 192 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection SQL Injection Beispiel SELECT user,pw FROM users WHERE user=’$user’ and pw=’$pw’ K. Puschke phpMySQL

Slide 193

Slide 193 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection SQL Injection Beispiel SELECT user,pw FROM users WHERE user=’$user’ and pw=’$pw’ $pw="x’ OR ’’=’" K. Puschke phpMySQL

Slide 194

Slide 194 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection SQL Injection Beispiel SELECT user,pw FROM users WHERE user=’$user’ and pw=’$pw’ $pw="x’ OR ’’=’" SELECT user,pw FROM users WHERE user=’foo42’ and pw=’x’ OR ’’=’’ K. Puschke phpMySQL

Slide 195

Slide 195 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection SQL Injection Beispiel SELECT user,pw FROM users WHERE user=’$user’ and pw=’$pw’ $pw="x’ OR ’’=’" SELECT user,pw FROM users WHERE user=’foo42’ and pw=’x’ OR ’’=’’ Abwehr Eingaben für SQL escapen oder K. Puschke phpMySQL

Slide 196

Slide 196 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection SQL Injection Beispiel SELECT user,pw FROM users WHERE user=’$user’ and pw=’$pw’ $pw="x’ OR ’’=’" SELECT user,pw FROM users WHERE user=’foo42’ and pw=’x’ OR ’’=’’ Abwehr Eingaben für SQL escapen oder besser: Prepared Statements K. Puschke phpMySQL

Slide 197

Slide 197 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Prepared Statements trennen SQL-Logik und Dateneingabe K. Puschke phpMySQL

Slide 198

Slide 198 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Prepared Statements trennen SQL-Logik und Dateneingabe schützen dadurch vor SQL Injection Angriffen K. Puschke phpMySQL

Slide 199

Slide 199 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Prepared Statements trennen SQL-Logik und Dateneingabe schützen dadurch vor SQL Injection Angriffen zusätzliches escapen nicht erforderlich K. Puschke phpMySQL

Slide 200

Slide 200 text

Erste Schritte Grundbegriffe des Web PHP Programmierung MySQL Datenbanken Website mit DB-Anbindung Datenbankverbindung Webseiten mit Datenbankinhalten SQL Injection Prepared Statements trennen SQL-Logik und Dateneingabe schützen dadurch vor SQL Injection Angriffen zusätzliches escapen nicht erforderlich ggf. Performanzgewinn K. Puschke phpMySQL