Cover

Titelblatt

WILEY END USER LICENSE AGREEMENT

Besuchen Sie www.wiley.com/go/eula, um Wiley's E-Book-EULA einzusehen.

1-4

PHP und MySQL für Dummies

Schummelseite

Wenn Sie PHP-Programme zur Entwicklung Ihrer Webanwendung schreiben und mit einer MySQL-Datenbank kommunizieren, müssen Sie eine Menge Dinge im Auge behalten. Sie müssen jeden Code richtig und damit fehlerfrei schreiben und auf die korrekte Syntax achten. Diese Schummelseite bietet einen Überblick über jene Anweisungen, die Sie wahrscheinlich am häufigsten nutzen werden, sodass Sie die Seite zum schnellen Nachschlagen nutzen können.

PHP-Anweisungen zum Erstellen von Programmen

PHP-Programme bestehen aus einer Reihe von PHP-Anweisungen, die nacheinander ausgeführt werden. Im Folgenden finden Sie eine Liste von PHP-Anweisungen (mit Syntax), die Sie beim Schreiben von Programmen verwenden:

array ( "schluessel" => "wert", … );

die("nachricht");

do { block } while (Bedingung);

echo Element;

extract($array);

for (startwert; endwert;schritt) { block }

foreach( $array as $schluessel => $wert) { block }

function funktionsname(wert,wert,…) { block }

header("Location: URL");

if (Bedingung) { block }

elseif (Bedingung) { block }

else { block }

number_format(zahl,dezimalstellen,'dezimalseperator', 'tausenderseperator');

session_start();

session_destroy();

switch var { case wert anweisungen break; … }

unset($variable);

while (Bedingung) { block }

Mit speziellen MySQL-Funktionen von PHP mit einer Datenbank kommunizieren

PHP kommuniziert mit MySQL-Datenbanken mit einer Reihe von Funktionen, die speziell für diesen Zweck entwickelt wurden. Hier die Syntax der am häufigsten genutzten Funktionen:

mysqli_connect("host","konto","passwort")

mysqli_select_db($verbindung, "datenbankname",)

mysqli_query($verbindung,"query")

mysqli_fetch_assoc($resultat)

mysqli_num_rows($resultat)

mysqli_insert_id($verbindung)

Mit der ALTER-Abfrage MySQL-Datenbanken ändern

Die ALTER-Abfrage benutzen Sie, um die Struktur von Datenbanktabellen zu ändern. Hier die Änderungen, die Sie am häufigsten vornehmen:

ALTER TABLE Tabelle ADD feldname definition

ALTER TABLE Tabelle ALTER feldname SET DEFAULT wert

ALTER TABLE Tabelle ALTER feldname DROP DEFAULT

ALTER TABLE Tabelle CHANGE feldname neuerFeldname definition

ALTER TABLE Tabelle DROP feldname

ALTER TABLE Tabelle MODIFY feldname definition

ALTER TABLE Tabelle RENAME neuerTabellenname

Auf eine Datenbank zugreifen und sie mit MySQL-Abfragen anpassen

PHP kommuniziert mit MySQL-Datenbanken über SQL-Abfragen. Hier die SQL-Abfragen, die Sie verwenden, um auf die Datenbank zuzugreifen, sie zu prüfen oder zu bearbeiten:

ALTER TABLE tabelle change

CREATE DATABASE datenbank

CREATE TABLE (feld definition,…,PRIMARY KEY(feld))

DELETE FROM tabellename WHERE Klausel

DROP datenbank|tabellename

INSERT INTO tabellenname (feld1,feld2,…) VALUES (wert1,wert2,…)

LOAD DATA INFILE "filename" INTO TABLE tabelle

SELECT feld1,feld2,… FROM tabelle WHERE Klausel

SELECT anweisung UNION SELECT anweisung

SHOW DATABASES|TABLES

SHOW COLUMNS FROM tabelle

UPDATE tabelle SET feld1=wert1,… WHERE Klausel

Das Format für die WHERE-Klausel in SQL-Abfragen

Die WHERE-Klausel wird verwendet, um DELETE-, SELECT- oder UPDATE -Abfragen zu spezifizieren. Sie liefert die Selektion. Hier die Formate für die WHERE-Klausel:

WHERE exp AND|OR exp AND|OR exp

exp kann eine der folgenden Zeilen sein:

feld = wert

feld > wert

feld >= wert

feld < wert

feld <= wert

feld BETWEEN wert1 AND wert2

feld IN (wert1,wert2,…)

feld NOT IN (wert1,wert2,…)

feld LIKE wert

feld NOT LIKE wert

Spezielle Zeichen für PHP-Vergleiche mit Mustern

Reguläre PHP-Vergleiche verwenden Muster, um zum Beispiel Formulardaten auf zulässige Formate zu überprüfen. Diese Tabelle zeigt einige gängige Zeichen (und Beispiele), mit denen Sie Muster aufbauen können.

Zeichen

Bedeutung

Beispiel

Übereinstimmung

Keine Über­einstimmung

^

Beginn einer Zeile

^K

Katze

Paket

$

Ende einer Zeile

k$

Sack

Socke

.

Jedes beliebige Zeichen

..

Jeder String, der mindestens zwei Zeichen enthält

Aoderl

?

Das vorhergehende Zeichen ist optional.

Bra?ut

Braut oder Brut

Breut

()

Gruppiert Buchstaben, die exakt so auftauchen müssen.

(ei)

Leib

Lieb

[]

Schließt eine Liste optionaler Zeichen ein

M[üö]ller

Müller oder Möller

Moeller oder Mueller

-

Repräsentiert alle Zeichen zwischen zwei Zeichen.

d[a-c]d

Dad oder dcd

ddd oder dzd

+

Eines oder mehrere der vorhergehenden Elemente

Tür[1-3]+

Tür1 oder Tür123 oder Tür2

Tür oder Tür153 oder Tür412

*

Keines oder mehrere der vorhergehenden Elemente

Tür[1-3]*

Tür oder Tür1 oder Tür123 oder Tür2

Tür153 oder Tür412

{ , }

Anzahl der möglichen Wiederholungen {Start-, Ende-Wert}

A{2,5}

AA oder AAAAA

A oder AX3

\

Maskierungszeichen

3\+2

3+2

32

( | | )

Eine Auflistung von alter­nativen Zeichen

(Müller|Mueller|Miller)

Müller oder Miller

Möller oder ­Muller

7-8

Titelei

WILEY-VCH Verlag GmbH & Co. KGaA

PHP & MySQL für Dummies

Janet Valade

2. Auflage

Übersetzung aus dem Amerikanischen von Christine Peyton und Gerhard Franken

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

2. Auflage 2018

© 2018 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim

Original English language edition PHP & MySQL For Dummies © 2012 by Wiley Publishing, Inc. All rights reserved including the right of reproduction in whole or in part in any form. This translation ­published by arrangement with John Wiley and Sons, Inc.

Copyright der englischsprachigen Originalausgabe PHP & MySQL For Dummies © 2012 by Wiley Publishing, Inc. Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.

Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.

Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.

Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.

Coverfoto © Scanrail- fotolia.com

Korrektur Harriet Gehring

Satz/ePub Reemers Publishing Services GmbH, Krefeld

Print ISBN: 978-3-527-71443-8

ePub ISBN: 978-3-527-81265-3

mobi ISBN: 978-3-527-81264-6

9-10

Über die Autorin

Janet Valade ist Autorin und Koautorin zahlreicher Bücher zu Themen rund um PHP und MySQL sowie HTML und die Adobe-Produkte Dreamweaver und Flash. Sie beschäftigt sich seit über zwei Jahrzehnten mit EDV-Themen. Dabei arbeitete sie vier Jahre als Webdesignerin und Programmiererin in einem Ingenieurbüro. Davor war sie dreizehn Jahre lang im universitären Umfeld als Systemanalytikerin tätig. Während dieser Zeit war sie für die Installation und den Betrieb der Computerressourcen verantwortlich, entwickelte ein Datenbankarchiv, unterstützte die Fakultät und die Studenten bei der Computernutzung, schrieb viele Anleitungen und hielt eine Vielzahl von Seminaren über IT-Themen.

21-26

Einleitung

Ich heiße Sie in der aufregenden Welt der datenbankgestützten Webanwendungen herzlich willkommen. Mit den in diesem Buch vorgestellten Techniken können Sie zwar fast beliebige Anwendungen entwickeln, ich lege Ihnen aber dringend ans Herz, sich zunächst einfachen Projekten zuzuwenden. Im Mittelpunkt des Buches stehen zwei Beispielanwendungen, die zwei typische Webauftritte repräsentieren: ein Produktkatalog und ein Mitgliederbereich einer Website, für den sich Benutzer anmelden und mit einem Passwort einloggen müssen. Die Beispiele sind einerseits so komplex, dass sie zahlreiche Programme und Daten sowie deren Bearbeitung erfordern, aber auch einfach genug, um sie nachvollziehen und auf andere Webprojekte übertragen zu können. Nachdem Sie die ersten einfachen Anwendungen gemeistert haben, können Sie die Programme erweitern und eine Menge Funktionalitäten ergänzen.

Über dieses Buch

Betrachten Sie dieses Buch als Ihren Begleiter bei der Entwicklung von Webanwendungen. Es ist eher ein Handbuch als eine Anleitung, sodass Sie es nicht von vorn bis hinten durcharbeiten müssen. Sie können es aufschlagen, wo Sie wollen, direkt bei Kapitel 1, bei Kapitel 9 oder wo auch immer. Ich habe die Aufgaben, die mit der Entwicklung von Webanwendungen einhergehen, in handhabbare Einheiten aufgeteilt, sodass Sie im Inhaltsverzeichnis rasch erkennen können, welches Kapitel oder welcher Abschnitt die gerade interessanten Informationen liefert. Zahlreiche Verweise führen Sie zu thematisch verwandten Abschnitten, wenn Sie mal nicht weiterwissen.

Hier ein kurzer Überblick über die Themen des Buches:

image Eine MySQL-Datenbank entwickeln und verwenden

image PHP-Abschnitte in HTML-Dateien einfügen

image PHP-Features verwenden

image Mittels HTML-Formularen Daten von Benutzern übernehmen

image Daten aus einer Datenbank auf Webseiten anzeigen

image Daten in einer Datenbank speichern

Konventionen in diesem Buch

Sie finden in diesem Buch eine Menge PHP- und MySQL-Anweisungen, SQL-Strings und HTML-Code. Diese Anweisungen werden vom Rest des Textes durch eine besondere Formatierung abgehoben; sie sehen so aus:

Eine PHP-Anweisung

Zusätzlich gibt es auch innerhalb des Textes PHP-, MySQL- und HTML-Schnipsel. Diese Texte sind ebenfalls gut erkennbar formatiert. Dieser Text zum Beispiel ist ein Codefragment innerhalb des normalen Textes.

In vielen Beispielanweisungen sind bestimmte Begriffe kursiv formatiert. Kursiv gekennzeichnete Wörter repräsentieren allgemeine Elemente der Anweisungen, die im konkreten Fall angepasst werden müssen. Wenn es beispielsweise eine solche Anweisung gibt:

SELECT feld1, feld2 FROM tabellenname

müssen die kursiv gekennzeichneten Wörter durch konkrete Angaben ersetzt werden. Im Skript kann das dann zum Beispiel so aussehen:

SELECT name, alter FROM kunde

Sie werden in Anweisungen auch auf drei Punkte stoßen (). Diese drei Punkte brauchen Sie nicht zu schreiben, sie bedeuten einfach, dass Sie an der Stelle beliebig viele Elemente auflisten können. In dem folgenden Anweisungsbeispiel

SELECT feld1, feld2,… FROM tabellenname

können Sie also nicht nur feld1 und feld2 aufnehmen, sondern eine viel umfangreichere Liste, die mit feld3, feld4 und so weiter fortgeführt wird. Hier ein Beispiel:

SELECT name,alter,groesse,schuhgroesse FROM kunde

Manche Texte sind auch fett gesetzt; sie sind besonders wichtig und ich möchte Ihre Aufmerksamkeit auf solche Textpassagen lenken. Fachbegriffe, die zum ersten Mal auftauchen, sind kursiv ausgezeichnet.

Falls die Listings im eBook-Display nicht gut lesbar sind oder nicht korrekt dargestellt werden, empfehlen wir Ihnen, sich die Beispieldateien von der Webseite des Buches herunterzuladen: www.wiley-vch.de/ISBN9783527714438.

Was Sie nicht lesen müssen

Manche Textpassagen sowie einige grau hinterlegte Kästen sind mit einem Symbol gekennzeichnet, das für »Achtung Technik« steht. Sie müssen diese Texte nicht unbedingt lesen, um die Programme schreiben zu können, aber sie bieten einen Blick hinter die Kulissen und/oder beschreiben eine fortgeschrittene Technik, für deren Anwendung Sie weitergehende Kenntnisse benötigen. Manche von Ihnen mögen diese zusätzlichen Informationen spannend finden, aber Sie können sie ebenso gut ignorieren, wenn Sie sich damit nicht belasten wollen.

Törichte Annahmen über den Leser

Um ein Buch mit durchgehenden Beispielen zu schreiben – anstatt eines allgemeinen Nachschlagewerks –, musste ich einige Annahmen über Sie, den Leser, die Leserin, treffen. Ich ging beim Schreiben davon aus, dass Sie sich mit HTML und CSS auskennen und bereits statische Webseiten erstellt haben. Daher werden HTML und CSS nicht näher erklärt, auch wenn ich beides in vielen Beispielen benutze. Ohne HTML-/CSS-Kenntnisse sind die Beispiele dieses Buches definitiv schwieriger nachzuvollziehen, sodass ich Ihnen empfehle, zunächst ein entsprechendes Buch zur Hand zu nehmen (zum Beispiel HTML5 Schnelleinstieg für Dummies von Andy Harris, das ebenfalls im Verlag Wiley-VCH erschienen ist) und ein bisschen mit Webseiten zu experimentieren. Besonders hilfreich ist es, wenn Sie mit HTML-Formularen und -Tabellen vertraut sind. Dennoch halte ich es nicht für unmöglich, das hier vorliegende Buch auch ohne HTML-Kenntnisse zu verwenden, weil Sie als aufmerksamer Leser nebenbei genug HTML/CSS lernen, um Ihre eigene dynamische Website zu bauen. Ein HTML-Buch sollten Sie aber nicht nur dann immer parat haben.

Wenn Sie ganz ohne bisherige Erfahrungen loslegen, sind Ihnen ein paar Grundlagen eventuell nicht unbedingt geläufig. Sie müssen wissen, wie Sie Texte in einem Editor (wie etwa Notepad) schreiben und als einfache Textdateien speichern (nicht im Word-Format). Sie müssen auch wissen, wo Sie die Dateien mit HTML und/oder PHP-Code für Ihre Webseiten ablegen, sodass sie allen Benutzern mit Zugang zu Ihrer Website zur Verfügung stehen, und Sie müssen wissen, wie Sie Dateien gegebenenfalls an den richtigen Speicherort verschieben.

Sie müssen sich aber nicht damit auskennen, wie man eine Datenbank aufbaut oder wie man programmiert. Alles, was dafür erforderlich ist, finden Sie in diesem Buch.

Wie dieses Buch aufgebaut ist

Das Buch ist aufgeteilt in sieben Teile, jeder Teil besteht aus mehreren Kapiteln. Inhaltlich reichen die Kapitel von einer ersten Einführung in PHP und MySQL über die Entwicklung und Verwendung von Datenbanken bis hin zum Schreiben von – auch komplexeren – PHP-Programmen. Schließlich wird im Anhang erklärt, wie Sie die erforderliche Software installieren und konfigurieren.

Teil I: Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln

Teil I liefert einen Überblick über die Entwicklung einer datenbankgestützten Webanwendung mit PHP und MySQL. Die Kapitel beschreiben die Vorteile der beiden Programme und erklären, wie das Zusammenspiel von PHP und MySQL grundsätzlich funktioniert. Sie lernen, wie Sie mit der Entwicklung eines Webprojekts beginnen, was Sie benötigen und wie Sie die Software testen.

Teil II: PHP

In Teil II lernen Sie PHP kennen. Sie erfahren, wie Sie PHP-Anweisungen schreiben und machen Bekanntschaft mit Anweisungsblöcken, Funktionen, Arrays, Konstanten und if-Bedingungen.

Teil III: MySQL-Datenbanken

Teil III führt Sie in die Arbeit mit Datenbanken ein. Sie entwerfen das Layout einer Datenbank, legen eine entsprechende Datenbank an und füllen sie mit Daten. Außerdem erfahren Sie, wie Sie Ihre Daten schützen.

Teil IV: PHP und MySQL im Zusammenspiel

In diesem Teil erfahren Sie, wie Sie Ihren Webseiten mit PHP-Programmen ermöglichen, neue Informationen in eine Datenbank einzufügen, dort Informationen zu aktualisieren oder daraus zu entfernen. Sie lernen spezielle PHP-Features kennen, die für die Kommunikation mit MySQL und die Verarbeitung von Daten aus Webformularen eingesetzt werden.

Teil V: Anwendungen

Dieser Teil beschreibt die datenbankgestützte Webanwendung als Ganzes. Sie lernen, wie Sie Ihre Programme so organisieren, dass eine funktionierende Webanwendung daraus entsteht, die mit der MySQL-Datenbank kommuniziert. Hier werden zwei komplette Anwendungen erstellt, beschrieben und erläutert.

Teil VI: Der Top-Ten-Teil

In Teil VI finden Sie nützliche Listen mit Hinweisen zu Dingen, die Sie machen, und solchen, die Sie nicht machen sollten, wenn Sie eine Webanwendung entwickeln.

Anhänge

Die Anhänge beschreiben zum einen die Installation der Websoftware (mit XAMPP) und geben zum anderen Hinweise auf PHP-Einstellungen, die Sie bei Bedarf ändern können. Außerdem finden Sie hier eine kurze Beschreibung der Inhalte der Download-Dateien.

Symbole, die in diesem Buch verwendet werden

Dieses Symbol begegnet Ihnen recht häufig. Solche Passagen wiederholen bestimmte Aussagen, weil sie so wichtig sind, dass Sie sie nicht vergessen sollten.

Dieses Symbol kündigt Informationen an, die relativ technisch sind und Dinge hinter den Kulissen erklären. Sie können diese Texte lesen, wenn Sie daran interessiert sind, den Blick auch mal ein wenig nach »links und rechts« schweifen zu lassen; Sie können diese Ausführungen aber auch ignorieren, da sie zum Verständnis der Programme oder anderer Informationen nicht unbedingt erforderlich sind.

Hier finden Sie zusätzliche Informationen für bestimmte Situationen oder Vorhaben. Es geht hier häufig um Erklärungen, wie manche Aufgaben schneller oder einfacher erledigt werden können. Daher lohnt es sich immer, einen Blick darauf zu werfen.

Dieses Symbol macht Sie darauf aufmerksam, dass Sie sich eine Menge Tipparbeit sparen können, wenn Sie die Skripte auf der Seite des Buches http://www.wiley-vch.de/ISBN352771443X herunterladen.

Warnungen sollten Sie immer lesen. Sie weisen auf Aktionen hin, die Sie unbedingt machen oder unbedingt umgehen sollten, um unschöne oder nicht erwünschte Konsequenzen zu vermeiden.

Wie es weitergeht

Dieses Buch folgt in etwa der Reihenfolge, in der Sie auch bei der Entwicklung Ihrer Webanwendung vorgehen würden. Wenn dieses Thema Neuland für Sie ist, sollten Sie am besten mit Teil I beginnen, da hier die grundlegende Zusammenarbeit von PHP und MySQL erklärt wird. In Teil II lernen Sie dann die Grundlagen von PHP kennen, da es schließlich um das Programmieren mit PHP geht. Danach erhalten Sie eine Einführung in den Umgang mit MySQL-Datenbanken, da Sie für die Kommunikation von PHP mit MySQL eine Datenbank brauchen. Nachdem Sie sowohl mit PHP als auch mit MySQL vertraut sind, wird in Teil V eine konkrete Webanwendung mit allem, was dazugehört, erstellt. Sofern Sie sich mit einem der genannten Themen bereits auskennen, können Sie direkt mit dem Kapitel einsteigen, das Ihnen bei Ihrem Vorhaben weiterhilft und/oder sich dem Thema widmet, zu dem Sie mehr erfahren wollen. Wenn Sie beispielsweise bereits mit PHP programmieren können, überspringen Sie einfach Teil II und beschäftigen sich mit den Kapiteln ab Teil III, in denen es speziell um MySQL-Datenbanken geht.

27-28

Teil I

Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln