Dieses Tutorial enth?lt eine Einfhrung in die
MySQL-Anbindung von PHP. PHP untersttzt eine gewaltige Menge von Datenbanken
(mehr als die meisten Programmierer vom Namen her kennen). Daraus folgt, dass
die Datenbankanbindung in PHP eine wichtige Rolle spielt. Viele Webseiten
arbeiten mit Datenbanken. (siehe mein Scriptarchiv) Eine oft genutzte
Datenbankanbindung ist MySQL. Aus diesem Grund mchte ich mich in diesem
Tutorial ausschlie?.lich mit einer MySQL-Datenbank befassen. (Ich setze
voraus, dass einige MySQL-Anweisungen bereits bekannt sind. Wenn das nicht der
Fall ist, knnt Ihr hier alles ntige nachlesen [MySQL-Anweisungen])
Verbinden mit einem
MySQL-Server und Ausw?hlen einer Datenbank Es gibt zwei Arten von
Verbindungen: 1. Persistente 2. "normale" Verbindungen
Der Unterschied? - Nun, peristente Verbindungen
werden im Gegensatz zu "normalen" Verbindungen so lange offen gehalten, bis sie
definitiv geschlossen wird. Um eine Verbindung aufbauen zu knnen, mssen
folgende Werte bekannt sein:
1. Adresse des Datenbankservers (auf eigenem System
oft localhost.) 2. Gltiger Benutzername (auf eigenem System oft root) 3.
Passwort fr Benutzernamen
Mit diesen Informationen kann nun eine "normale"
Verbindung aufgebaut werden:
$db=mysql_connect("localhost","root","") or die("Konnte keine
Verbindung mit
dem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Datenbankserver aufbauen");
Dieses Beispiel
verbindet mit dem Datenbankserver "localhost" und baut eine Verbindung, mit dem
Benutzernamen "root" und keinem Kennwort auf. Wenn keine Verbindung mglich ist,
wird eine Fehlermeldung ausgegeben (auf den Befahl "die" werde ich in einem
anderen Tutorial eingehen). ?.ber $db wird die
Datenbank angesprochen.
Eine persistente Verbindung wird fast identisch
aufgebaut. Der Befehl mysql_connect wird lediglich in
mysql_pconnect ge?ndert.? Persistente Verbindungen mssen allerdings wieder
geschlossen werden. Dazu wird mysql_close($db)
verwendet, wobei $db die Datenbank-Variable ist
(oben $db=)
Um eine Datenbank auszuw?hlen wird
der Befehl $mysql_select_db("Datenbankname")
verwendet.
2. Datens?tze aus einer
MySQL-Datenbanken lesen PHP-Scripte knnen natrlich auch Daten aus
Datenbanken lesen. Dazu wird ,wie oben beschreiben, eine Verbindung mit einer
Datenbank aufgebaut. Danach lie?.t das folgende Script? Daten aus der ersten
Spalte der Tabelle der Datenbank test aus. ..... $sql="SELECT * FROM
test"; $result=mysql_query($sql); while($row = mysql_fetch_array($result))
{? echo "$row[0]<br>"; }
$sql="SELECT * FROM
test"; $result=mysql_query($sql); In diesem Teil, wird eine
MySQL-Anweisung (SELECT * FROM Tabellenname) ber den Befehl
mysql_query
[Mehr
ber mysql_query] ausgefhrt. Das Ergebnis wird in die Variable $result zurckgeliefert.? Das Ergebnis kann nun mit Hilfe des
Befehls mysql_fetch_array in ein Array bertragen werden
und wie oben gezeigt ausgelesen werden.
3. Datens?tze in eine
MySQL-Datenbanken schreiben Das Schreiben von Datens?tzen in eine
Tabelle ist in Zwei Varianten mglich.
- Mann kann alle Feldnamen angeben und schreibt auch
genau in das angegebene Feld (wenn man nur in bestimmte Felder schreiben mchte;
es knnen Felder ausgelassen werden)
- Mann kann in alle Felder schreiben, muss aber auch
in der richtigen Reihenfolge schreiben.
Zu 1. Als Beispiel wird eine Tabelle mit
2Spalten verwendet (a und b). Nun wird mit der MySQL-Anweisung INSERT? INTO Tabellenname in die Tabelle mit Hilfe des Befehls mysql_query geschrieben:
<? //verbinden mit der
Datenbank mysql_query("INSERT INTO Test ('a','b')?
VALUES('s1','s2'"); ?>
Das gleich Ergebnis wrdet ihr mit
diesem Script erzielen:
<? //verbinden mit der
Datenbank mysql_query("INSERT INTO Test ('b','a')?
VALUES('s2','s1'); ?>
Zu 2. Diese Methode ist sehr einfach, ihr msst
lediglich darauf achten, dass die Variablen in der richtigen Reihenfolge
angegeben werden. Es werden keine Zellen bersprungen.
<? //verbinden mit der Datenbank mysql_query("INSERT INTO
Test? VALUES('s1','s2'"); ?>
Dieses Script fhrt zu einem
anderem Inhalt: <? //verbinden mit der
Datenbank mysql_query("INSERT INTO?
VALUES('s2','s1'"); ?> Fazit: Die 2. Methode ist einfacher,
aber ungenauer. Ich persnlich empfehle die 1.
4. Datens?tze aus einer
MySQL-Datenbanken lschen Natrlich knne Datens?tze auch aus
MySQL-Datenbanken gelscht werden. Dazu wird der Befehl mysql_query
[Mehr ber mysql_query]
verwendet. Die MySQL-Anweisungen, die zum Lschen bentigt werden, findet? ihr
hier? [MySQL-Anweisungen].
Der
Code knnte wie folgt aussehen: <? //Verbinden mit der
dem Datenbankserver bzw. der Datenbank $sql="DELETE FROM
Test"; mysql_query($sql); ?>
In diesem Beispiel werden
alle Eintr?ge aus der Tabelle Test gelscht. Die DELETE-Anweisung kann natrlich
auch kombiniert werden. Alles ntige darber findet ihr hier?
[MySQL-Anweisungen].
Weitere
Informationen zu dem Thema MySQL findet ihr unter: http://ffm.junetz.de/privat/reeg/
|