Wenn Ihr mittels PHP Daten aus MySQL abfragen wollt, gibt es das Query
SELECT FROM, mit dem ihr alle oder nur bestimmte Datensätze aufrufen könnt. Alles in allem ist SELECT so aufgebaut:
|
Source code
|
1
|
SELECT Spalte FROM Tabelle (WHERE Angaben) (ORDER BY Angabe) (LIMIT Angabe)
|
Die Angaben bei WHERE, LIMIT und ORDER BY sind im Moment noch unwichtig, da sie für die einfach Auswahl nicht wichtig ist.
1. Alle Dateien auswählen
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$abfrage = "SELECT * FROM Tabelle";
$ergebnis = mysql_query($abfrage);
print_r $ergebnis;
?>
|
Erklärungen
Mit mysql_connect() verbinden wir mit dem Host, und wählen anschliessend die Datenbank mit mysql_select_db() aus. Nun wollen wir zunächst alle Daten abfragen, dazu benutzen wir
*. Anstatt Tabelle muss natürlich eine bereits existierende Tabelle stehen, ansonsten gibt gibt MySQL eine Fehlermeldung aus.
Für die Ausgabe benutzen wir
print_r, da wir mehrere Ausgaben erhalten. Alternativ kann man auch folgendes angeben:
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$ergebnis = mysql_query("SELECT * FROM Tabelle");
print_r $ergebnis
?>
|
2. Bestimmte Spalte abfragen
In diesem Teil will ich euch zeigen, wie ihr nur eine bestimmte Zeile abfragt, natürlich wieder mit dem Query SELECT.
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$abfrage = "SELECT Name FROM Tabelle";
$ergebnis = mysql_query($abfrage);
print_r $ergebnis;
?>
|
Erklärungen
Mit Name fragen wir den die komplette Spalte einer Tabelle ab, d.h. bei 2 Zeilen erhalten wir 2 Werte. Verbinden und Auswählen sind das Gleiche wie beim Abfragen aller Daten.
3. Bestimmte Zeile abfragen
Manchmal wollten wir auch zum Beispiel eine Zeile abfragen, in der alle Daten eines Users vorhanden sind. Dies können wir mit den beiden Queries WHERE und LIKE bewirken. Wenn du weisst, welche Zeile der User in der Tabelle hast, kannst du auch die ID mittels WHERE abfragen, das sieht dann so aus:
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$abfrage = "SELECT * FROM Tabelle WHERE id=3";
$ergebnis = mysql_query($abfrage);
echo $ergebnis;
?>
|
Erklärungen
Mit * wählen wir wieder alle Daten aus, jedoch nur aus der Zeile wo(WHERE) die ID = 3 ist. Um die ID abzurufen, muss man natürlich auch das Feld ID beim Erstellen der Tabelle angeben. Sollte man dies nicht getan haben, kann man natürlich auch das Query WHERE ... LIKE nehmen.
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$abfrage = "SELECT * FROM Tabelle WHERE Name LIKE Username";
$ergebnis = mysql_query($abfrage);
echo $ergebnis;
?>
|
Erklärungen
Mit WHERE ... LIKE wählt man die Zeile aus, in der der Name wie "Name" ist, d.h. so ähnlich oder gleich.
4. Bestimmte Zeile und Spalte auswählen
Jetzt gehen wir davon aus, dass das Feld ID gesetzt wurde. Wenn ihr zusätzlich eine bestimmte Spalte und Zeile auswählen wollt, müsst ihr anstatt des Sternchens einfach den Namen der Spalte einstezen und auf jeden Fall WHERE id=X einsetzen. Um es zu veranschaulichen, schreibe ich einfach mal den Code auf:
|
PHP Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
mysql_connect("localhost", "benutzer", "passwort");
mysql_select_db("datenbank");
$abfrage = "SELECT Name FROM Tabelle WHERE id=2";
$ergebenis = mysql_query($abfrage);
echo $ergebnis;
?>
|
Erklärung
Hiermit rufen wir die Spalte Name der 2. Zeile auf und geben es aus, ganz einfach nicht?
Fazit
Wenn man sich diese paar Queries einprägt ist das Abfragen von Daten seht leicht. Wenn ihr irgendeine Kritik habt, schickt mir diese bitte per PM.