MySql und PHP Apache2: Konfigurieren für php4 ...\apache2\conf

Transcrição

MySql und PHP Apache2: Konfigurieren für php4 ...\apache2\conf
MySql und PHP
Apache2: Konfigurieren für php4
...\apache2\conf\httpd.conf aufrufen
Folgende Zeilen einfügen:
LoadModule php4_module "c:/php/php4apache2.dll"
AddType application/x-httpd-php .php
Wichtig!!
php- Dateien unter
...\apache2\htdocs
speichern, damit sie von Apache gefunden werden
Testen: http://localhost
Beispiel: Statusseite.php
<html>
<head>
<title>Statusseite</title>
</head>
<body>
<? phpinfo();
?>
</body>
</html>
MySQL: Installieren unter Windows NT/2000/XP
Starten
Beenden
Datenbanken mit mysql
Ansprechen von mysql im Dialog
Eine neue Datenbank erzeugen
mysql> create database meinedb;
Admin neu starten und nachsehen
Die neue Datenbank benutzen
mysql>use meinedb;
Eine Tabelle anlegen
Die Tabelle erhält den Namen adresse und enthält Datensätze, bestehend aus dem Namen
(maximal 20 Buchstaben), der E-Mail-Adresse (max. 50 Buchstaben) und dem Passwort mit
maximal 10 Buchstaben:
mysql> create table adresse (
->name char(20),
->email char(50),
->passwort char(10));
So lange kein Strichpunkt eingegeben wird, wartet der MySql-Editor auf Eingaben. Die
Betätigung der [RETURN)-Taste führt zur Ausgabe von „->“. Man kann die Eingaben auch in
eine Zeile schreiben. Die Pfeil-nach-oben-Taste führt zu Wiederholungen älterer Eingaben.
Daten ausgeben
mysql>select * from adresse;
Man erhält aus Ausgabe: empty set
Die Tabelle ist leer.
Tabellen anzeigen
mysql> show columns from adresse;
Man sieht die Tabellenstruktur.
(Aufzählung)
Daten eingeben
mysql>insert into adresse values (’Hermes’,’[email protected]’,’hermes’);
Eingabe eines Datensatzes in die Tabelle adresse in der Reihenfolge name, email, passwort.
Daten (erneut) ausgeben
mysql>select * from adresse;
Es erscheint eine Tabelle mit den Inhalten, die ja nun vorhanden sind.
Neue Spalte in die Tabelle eingeben
mysql>ALTER TABLE adresse ADD bemerkung TEXT;
Hiermit wird die Datensatzstruktur verändert. Es wird eine neue Komponente bemerkung
hinzugefügt. Sie ist vom Typ TEXT und kann ganze Sätze aufnehmen. Die vorhandenen
Daten bleiben erhalten.
Werte für bestimmte Spalten eingeben
mysql>UPDATE adresse SET bemerkung = ’bla bla’ WHERE name =’Hermes’;
Aufgabe: Tabelle
Lege eine weitere Tabelle namens „buch“ an mit den Spalten „titel“, „autor“, „kurzinhalt“,
„erscheinungsjahr“ und trage drei Datensätze ein (zwei vor 2000, einer nach 2000).
Typ des Erscheinungsjahrs: YEAR oder INTEGER
Die Datensätze sollen zur Kontrolle angezeigt werden.
Bestimmte Daten auswählen und ausgeben
mysql>select * from buch WHERE erscheinungsjahr < 2000;
Mit der Angabe einer Bedingung lassen sich nur bestimmte Datensätze ausgeben. Im Beispiel
sind dies die Bücher mit dem Erscheinungsjahr vor 2000.
Spaltentypen mit CHANGE ändern
CHANGE alterSpaltenname NeuerSpaltenname NeuerDatentyp
Beispiel:
ALTER TABLE buch CHANGE erscheinungsjahr erscheinungsjahr INTEGER;
PHP 4: Installieren
Zip Archiv (www.php.net) in ...\WINNT\Temp entzippen
Folgende Dateien daraus in ...\php kopieren:
extensions (Ordner)
php.exe
php4.apache.dll oder Php4.apachge2.dll
php4ts.dll
php.ini-dist in ...\WINNT kopieren und in php.ini umbenennen
Grundlagen in PHP
Einfügen von php-code in eine html Seite:
<html><head><title></title></head>
<body><?php ?></body>
</html>
bzw. kurz: <?
?>
Kommentare beginnen in PHP mit /* und enden mit */.
Einzelne Befehle werden durch Semikolon (;) voneinander getrennt.
Variablen werden durch ein vorangestelltes Dollarzeichen kenntlich gemacht und brauchen
nicht definiert werden.
Beispiel:
$a = 3;
echo $a;
Mit der Funktion isset [Syntax: Int isset (mixed var);] kann überprüft werden, ob der
Variablen ein Wert zugewiesen wurde.
Ist dies der Fall, gibt die echo- Anweisung die Zahl 1 aus.
Mit unset [Syntax: Int unset (mixed var);] kann die Variable zurückgesetzt werden.
Beispiel:
$a = 3;
echo isset ($a);
unset ($a);
echo isset ($a);
Zeichen Bedeutung
\n
Neue Zeile
\r
Wagenrücklauf
\t
\\
\$
\“
Tabulator
Rückstrich
Dollarzeichen
Anführungszeichen
Innerhalb von doppelten
Anführungszeichen haben
nebenstehende Zeichen
eine Sonderbedeutung.
Logische Ausdücke
<
<=
>
>=
!=
==
&& bzw. AND
|| bzw. OR
()
kleiner
kleiner oder gleich
größer
größer oder gleich
ungleich
Gleich
Logisches Und
Logisches Oder
Klammern
Bei Prüfung auf Gleichheit
müssen zwei Gleichheitszeichen
hintereinander geschrieben werden.
Beispiel:
$x >1 && $x <= 10
$x liegt zwischen 1 und 11
Kapitel 1: Verbindung von MySql mit PHP
Mit Hilfe des Moduls phpMyAdmin
download unter:http://www.phpmyadmin.net
in ...\apache2\htdocs extrahieren
ggf. Namen des entstandenen Verzeichnisses (phpMyAdmin-2.5.3-rc1) anpassen
In der config.inc.php folgende Angaben ändern:
host (z.B. “localhost”)
user (z.B. “root”)
password (z.B. ohne)
Standardmäßig wird die angelegte Datenbank unter: ...\mysql\data
gespeichert
Ohne Modul
Legen Sie im Serververzeichnis von Apache unter HTDOCS einen Ordner mit dem Namen
„Kapitel1“ an. Dieser Ordner nimmt die folgenden Programme auf. Wenn der Server läuft,
findet der Browser den Ordner unter http://localhost/Kapitel1. Die Programme nummerieren
wir durch: p1.php, p2.php, p3.php usw.
Beispiel einer Verzeichnisstruktur:
C:
ApacheGroup
Apache
htdocs
Kapitel1
Kapitel2
Kapitel3
Beispiel eines Aufrufs im Navigtorfenster: http://localhost/Kapitel1/p1.php
Verbindungstest
___________________________
<?php
$verbindung=mysql_connect(“localhost“,“root“,““);
mysql_close($verbindung);
?>
___________________________
(Kapitel1/p1.php) Test der Verbindung zu MySql
PHP-Programme beginnen mit <?php und endet mit ?>.
mysql connect verbindet mit MySql (localhost bedeutet lokal)
mysql close schließt die Verbindung
Variablennamen beginnen mit dem Dollarzeichen
Die Ausgabe eines leeren Fensters zeigt, dass die Verbindung klappt.
Erzeugen einer Datenbank
___________________________
<?php
$verbindung =mysql_connect(“localhost“,“root“,““);
$anfrage="CREATE DATABASE meineDB";
mysql_query($anfrage);
mysql_close($verbindung);
?>
___________________________
(Kapitel1/p2.php) Erzeugung einer Datenbank namens meineDB
Anfragen formuliert man in der Regel vor und legt sie als Zeichenkette ab
CREATE DATABASE erzeugt eine Datenbank
mysql query() sendet den Befehl bzw. die Anfrage (query) an MySql
Die Ausgabe eines leeren Fensters bestätigt die korrekte Ausführung.
Erzeugen einer Tabelle innerhalb einer Datenbank
___________________________
<?php
$verbindung = mysql_connect(“localhost“,“root“,““);
mysql_select_db("meineDB");
$anfrage="CREATE TABLE tLogin(benutzer VARCHAR(50),passwort
VARCHAR(20))";
mysql_query($anfrage);
mysql_close($verbindung);
?>
___________________________________________________
(Kapitel1/p1.php) Erzeugung einer Tabelle
Ein PHP-Programm beginnt mit <?php und endet mit ?>.
$verbindung repräsentiert die Verbindung zur Datenbank. Unter Windows können
die Parameter entfallen, wenn auf den lokalen Server zugegriffen wird.
$anfrage speichert eine Datenbankanfrage als Zeichenkette.
mysql_query($anfrage) sendet die Anfrage ab.
CREATE TABLE erzeugt eine Tabelle namens tLogin mit den Datensätzen
(Spalten) benutzer und passwort. Die erste fasst 50 Zeichen, die zweite 20.
Die Tabelle lässt sich mit MySQLAdmin einsehen.
Eintrag eines Datensatzes
___________________________
<?php
$verbindung=mysql_connect(“localhost“,“root“,““);
mysql_select_db("meineDB");
// Die Tabelle heißt tLogin
// Die Datensätze heißen benutzer und passwort
// Eingabe des Benutzers Hannes und seines Geheimwortes
$anfrage="INSERT INTO tLogin VALUES('Hannes','blau!gelb')";
mysql_query($anfrage);
mysql_close($verbindung);
?>
___________________________________________________
(Kapitel1/p4.php) Eintrag des Namens Hannes und des Geheimwortes
blau!gelb.
INSERT INTO <Tabelle> VALUES fügt einen Datensatz am Ende der Tabelle ein.
Die Inhalte müssen in der Reihenfolge angegeben werden, in der die
entsprechenden Komponenten definiert worden sind
// leiten Kommentare ein
Befehle enden mit einem Strichpunkt
Das $-Zeichen charakterisiert eine Variable. Es gehört immer vor den Namen.
Eine Ausgabe erfolgt noch nicht. Man kann sich die Inhalte mit dem MySql-Editor ansehen.
Abfrage der Anzahl von Einträgen
___________________________
<?php
$verbindung=mysql_connect(“localhost“,“root“,““);
mysql_select_db("meineDB");
// Die Tabelle heißt tLogin
//Tabelle ausgeben
$anfrage="SELECT * FROM tLogin";
$ganzeTabelle=mysql_query($anfrage);
mysql_close($verbindung);
print("Anzahl der Datensaetze: ");
$anzahl = mysql_num_rows($ganzeTabelle);
print $anzahl;
?>
___________________________________________________
(Kapitel1/p5.php) Erzeugung einer Tabelle
$ganzeTabelle ist eine Folge aller Datensätze.
num rows liefet die Länge der Folge und damit die Anzahl der Datensätze
print dient der Ausgabe. Zeichenketten sind in Klammern und Anführungszeichen
zu setzen, während Variablen direkt hinter das Wort print geschrieben werden
können.
Hier wird die Anzahl der Datensätze (=1) ausgegeben.
Ausgabe der Einträge
___________________________
<?php
$verbindung=mysql connect(“localhost“,“root“,““);
mysql_select_db("meineDB");
//Tabelle abfragen
$anfrage="SELECT * FROM tLogin";
$ganzeTabelle=mysql_query($anfrage);
mysql_close($verbindung);
print("Anzahl der Datensaetze: ");
$anzahl = mysql_num_rows($ganzeTabelle);
print $anzahl;
// Ausgabe der Einträge nach Datensätzen
// Der Datensatz ds hat zwei Zeilen mit den Nummern 0 und 1
while($ds=mysql_fetch_row($ganzeTabelle)){
print("<br> Name = ".$ds[0]."<br>");
print("<br> PW = ".$ds[1]."<hr>");
}
?>
___________________________________________________
(Kapitel1/p6.php) Ausgabe aller Datensätze
mysql fetch row liefert einen Datensatz mit zwei Einträgen
$ds[0] ist der erste Eintrag; $ds[1] der zweite
<br> heißt „Nächste Zeile“; <hr> heißt „horizontale Linie“
while (Bedingung) {Anweiungen;} ist die Struktur einer Schleife. Beginnend vom
ersten Datensatz arbeitet sich die Schleife durch die Folge durch. Mit fetch row
liest sie jeweils den nächsten Datensatz in die Variable $ds ein. Aus dieser
extrahiert sie mit $ds[0] und $ds[1] die beiden Einträge. Der Punkt setzt die
Zeichenketten zusammen.
Übung
Man gebe weitere Datensätze ein und überprüfe die Eingaben.

Documentos relacionados