User Online: 1

   MySQL-Grundlagen by sven-oliver
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.

  1. 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)
  2. 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/

© by Sven-Oliver Tröbs - 2000-2008 - http://www.php-area.de/



Login





[ Registrieren ]