PHP/MySQL Begleitskript

Werbung
Begleitskript
zum PHP/MySQL
Kurs
c 2004 Jochen Grundmann
http://www.online-platform.net
Dieser Text unterliegt der GNU General Public License.
Er darf als ganzes oder in Auszügen kopiert
werden, vorausgesetzt, dass sich dieser Copyright
Vermerk auf jeder Kopie befindet.
PHP/MySQL
Seite 2
Inhaltsverzeichnis
1 MySQL
1.1 Datenbanken . . . . . . . . . . . . . . . .
1.1.1 Verbindung zum Datenbankserver .
1.1.2 Datenbank anlegen . . . . . . . . .
1.1.3 Datenbanken anzeigen . . . . . . .
1.1.4 Datenbank verwenden und wechseln
1.1.5 Datenbank löschen . . . . . . . . .
1.2 Tabellen . . . . . . . . . . . . . . . . . .
1.2.1 Tabellen anlegen . . . . . . . . . .
1.2.2 Tabellen anzeigen . . . . . . . . .
1.2.2.1 Felddatentypen . . . . .
1.2.2.2 Primärschlüssel . . . . .
1.2.2.3 Auto Increment . . . . .
1.2.3 Tabellen bearbeiten . . . . . . . .
1.2.3.1 Tabellen umbenennen . .
1.2.3.2 Spalten löschen . . . . .
1.2.3.3 Spalten hinzufügen . . .
1.2.3.4 Felddatentyp ändern . . .
1.2.4 Tabellen löschen . . . . . . . . . .
1.3 Datensätze . . . . . . . . . . . . . . . . .
1.3.1 Datensätze hinzufügen . . . . . . .
1.3.2 Abfragen . . . . . . . . . . . . . .
1.3.2.1 Datensätze sortieren . . .
1.3.3 Datensätze löschen . . . . . . . .
1.3.4 Datensätze aktualisieren . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 PHP
2.1 Erstellen einer Verbindung zum Datenbankserver
2.2 Auswahl der Datenbank . . . . . . . . . . . . .
2.3 Verbindung zur Datenbank schließen . . . . . .
2.4 Anfragen an den Datenbankserver . . . . . . . .
2.5 Daten hinzufügen . . . . . . . . . . . . . . . .
2.6 Daten ausgeben . . . . . . . . . . . . . . . . .
2.6.1 mysql_num_rows . . . . . . . . . . . .
2.6.2 mysql_fetch_object . . . . . . . . . . .
2.6.3 mysql_fetch_array . . . . . . . . . . .
2.6.4 mysql_field_name . . . . . . . . . . . .
c 2004 Jochen Grundmann
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
5
5
6
6
6
7
7
9
9
10
10
10
10
11
11
11
11
12
12
13
13
.
.
.
.
.
.
.
.
.
.
15
15
15
16
16
17
18
19
19
20
20
PHP/MySQL
Seite 3
1 MySQL
MySQL ist ein relationales Datenbanksystem (RDBMS) mit einer Client/Server Struktur.
Auf dem Datenbankserver können beliebig viele Datenbanken implementiert sein, ebenso
können beliebig viele Clients gleichzeitig auf den Server zugreifen. Grenzen setzt hier nur die
eingesetzte Hardware.
1.1 Datenbanken
Zusammengehörige Daten werden in einer Datenbank gespeichert.
1.1.1 Verbindung zum Datenbankserver
Um eine Verbindung zum Datenbankserver aufzubauen werden ein Benutzername und dazugehöriges Kennwort sowie der Name oder die IP-Adresse des Servers benötigt. MySQL
besitzt keine grafische Benutzeroberfläche. Die Bedienung erfolgt unter Windows über die
DOS Eingabeaufforderung, unter Linux über eine Shell.
Syntax
mysql -hhostname -ubenutzername -ppasswort
Beispiel
mysql -hwin2k-file -uroot -p
c 2004 Jochen Grundmann
PHP/MySQL
Seite 4
Nach dieser Eingabe wird das Passwort verlangt. Der Benutzer root ist der Standardbenutzer
eines MySQL Datenbanksystems und verfügt über Administratorrechte, das Passwort ist
standardmäßig leer. Nach erfolgreicher Anmeldung meldet sich MySQL mit dem folgenden
MySQL Prompt:
Auf einem Standalone Rechner ist diese ausführliche Anmeldung nicht zwingend notwendig,
hier reicht die Eingabe mysql aus, um sich am Server anzumelden.
Um sich am Datenbankserver wieder abzumelden wird der Befehl exit verwendet.
Anmerkung: MySQL Befehle werden immer mit einem Semikolon abgeschlossen. Es
gibt zwar einige Ausnahmen, bei denen das Semikolon auch weggelassen werden kann,
aber am einfachsten ist es, es immer einzugeben.
1.1.2 Datenbank anlegen
Eine Datenbank wird mit dem Befehl create database angelegt.
Syntax
CREATE DATABASE Datenbankname
c 2004 Jochen Grundmann
PHP/MySQL
Seite 5
Beispiel
create database guestbook;
Das erfolgreiche Anlegen wird mit der folgenden Meldung bestätigt:
1.1.3 Datenbanken anzeigen
Welche Datenbanken auf dem Server vorhanden sind kann man sich mit dem Befehl show
databases anzeigen lassen.
Beispiel
show databases;
Das Ergebnis könnte ungefähr so aussehen:
1.1.4 Datenbank verwenden und wechseln
Bevor auf eine Datenbank zugegriffen werden kann, muss diese mit dem Befehl use aktiviert
werden.
Syntax
USE Datenbankname
c 2004 Jochen Grundmann
PHP/MySQL
Seite 6
Beispiel
use guestbook;
Der Erfolg wird mit der folgenden Meldung bestätigt:
1.1.5 Datenbank löschen
Datenbanken werden mit dem Befehl drop database gelöscht.
Syntax
DROP DATABASE Datenbankname
Beispiel
drop database guestbook;
1.2 Tabellen
Die Daten einer Datenbank werden in Tabellen gespeichert.
1.2.1 Tabellen anlegen
Eine Tabelle wird mit dem Befehl create table angelegt. Dann erfolgt die in Klammern die
Angabe des Feldnamens und des Felddatentyps. Die einzelnen Felder werden durch Kommata
getrennt. Wenn man eine Tabelle anlegt, sollte man genau wissen, welche Daten gespeichert
werden sollen und welche Felddatentypen für die entsprechenden Daten gewählt werden sollen
(Text, Zahlen, Datum, ...).
Syntax
CREATE TABLE Tabellenname (Feld1 Datentyp, Feld2 Datentyp, ...)
Beispiel
create table adressen(
id int,
vorname varchar(50),
name varchar(50),
ort varchar(50));
c 2004 Jochen Grundmann
PHP/MySQL
Seite 7
Das erfolgreiche Anlegen einer Tabelle wird mit einer Erfolgsmeldung bestätigt.
1.2.2 Tabellen anzeigen
Welche Tabellen in einer Datenbank vorhanden sind kann man sich mit dem Befehl show
tables anzeigen lassen.
Beispiel
show tables;
Das Ergebnis könnte so aussehen:
Anmerkung: Zuvor muss mit dem Befehl use eine Datenbank ausgewählt worden sein.
1.2.2.1 Felddatentypen
MySQL stellt eine Vielzahl von Felddatentypen zur Verfügung. Die folgende Darstellung gibt
einen Überblick.
c 2004 Jochen Grundmann
PHP/MySQL
Seite 8
Abbildung 1.1: MySQL Felddatentypen
c 2004 Jochen Grundmann
PHP/MySQL
Seite 9
Im Folgenden sollen nur die wichtigsten Felddatentypen kurz vorgestellt werden.
Datentyp
Varchar
Text
Int
Date
Time
Timestamp
Definition
Text, max. 255 Zeichen
Text, max. <216 Zeichen
Zahl, von -2147483648 bis +2147483648
Datum, Format YYYY-MM-DD
Zeit, Format HH:MM:SS
Datum und Zeit, Format YYYYMMDDHHMMSS, wird bei Einfüge- und
Aktualisierungsvorgängen automatisch eingetragen. Von mehreren Timestampfeldern wird immer nur das erste aktualisiert.
1.2.2.2 Primärschlüssel
Damit ein Datensatz eindeutig wird, muss ein Feld mit einem Primärschlüssel werden. Dies
erfolgt durch den Zusatz primary key (Feldname) beim Erstellen einer Tabelle.
Beispiel
create table adressen(
id int,
vorname varchar(50),
name varchar(50),
ort varchar(50),
primary key(id));
In diesem Beispiel wird das Feld id als Primärschlüssel definiert.
1.2.2.3 Auto Increment
Da ein Wert im Primärschlüssel nur einmal vorkommen darf, empfiehlt es sich diesen Wert von
MySQL automatisch vergeben zu lassen. Dies geschieht durch den Zusatz auto_increment
bei dem Feld, das Primärschlüssel werden soll.
Beispiel
create table adressen(
id int not null auto_increment,
vorname varchar(50),
name varchar(50),
ort varchar(50),
primary key(id));
c 2004 Jochen Grundmann
PHP/MySQL
Seite 10
Damit das Primärschlüsselfeld immer einen Wert bekommt, sollte man dieses auch noch so
definieren, dass es nicht leer bleiben darf. Dies geschieht durch den Zusatz not null.
1.2.3 Tabellen bearbeiten
Vorhandene Tabellen können jederzeit geändert werden wie z.B. löschen oder hinzufügen von
Spalten oder Änderung des Felddatentyps. Dazu wird der Befehl alter table verwendet.
1.2.3.1 Tabellen umbenennen
Syntax
ALTER TABLE Tabellenname RENAME neuer_Tabellenname
Beispiel
alter table adressen rename anschriften;
Diese Beispiel benennt die Tabelle adressen in anschriften um.
1.2.3.2 Spalten löschen
Syntax
ALTER TABLE Tabellenname DROP Spaltenname
Beispiel
alter table adressen drop ort;
In diesem Beispiel wird die Spalte ort aus der Tabelle adressen gelöscht.
1.2.3.3 Spalten hinzufügen
Syntax
ALTER TABLE Tabellenname ADD Erstellungsanweisung, ...
Beispiel
alter table adressen add plz int;
Dieses Beispiel fügt der Tabelle adressen das Feld plz vom Datentyp int hinzu.
c 2004 Jochen Grundmann
PHP/MySQL
Seite 11
1.2.3.4 Felddatentyp ändern
Syntax
ALTER TABLE Tabellenname CHANGE Spaltenname Erstellungsanweisung
Beispiel
alter table adressen change name varchar (100);
In diesem Beispiel wird der Datentyp des Feldes name in varchar geändert.
1.2.4 Tabellen löschen
Tabellen werden mit dem Befehl drop table gelöscht.
Syntax
DROP TABLE Tabellenname
Beispiel
drop table adressen;
1.3 Datensätze
Ein Datensatz enthält immer einen Satz von zusammengehörigen Informationen. Er entspricht
einer Zeile in einer Tabelle.
1.3.1 Datensätze hinzufügen
Datensätze werden mit dem Befehl insert into in eine Tabelle eingetragen.
Syntax
INSERT INTO Tabellenname (Spaltenname, ...)
VALUES (Wert, ...)
Beispiel
insert into adressen (vorname, name, ort)
values (’Hans’, ’Meier’, ’Hagen’);
c 2004 Jochen Grundmann
PHP/MySQL
Seite 12
Dieses Beispiel fügt einen Datensatz in die Tabelle adressen ein. Wenn mehrere Datensätze
eingetragen werden sollen, sieht das Beispiel wie folgt aus:
Beispiel
insert into adressen (vorname, name, ort)
values
(’Hans’, ’Meier’, ’Hagen’)
(’Paul’, ’Müller’, ’Hagen’);
1.3.2 Abfragen
Die Inhalte von Tabellen können mit dem Befehl select angezeigt werden.
Syntax
SELECT Spaltenname, ... FROM Tabellenname WHERE Auswahlbedingung
Beispiel
select * from adressen;
Dieses Beispiel zeigt alle Datensätze der Tabelle adressen an. Das Sternchen hat hier die
Funktion eines Platzhalters.
Beispiel
select name, ort from adressen where id=1;
Bei diesem Beispiel werden nur die Spalten name und ort des ersten Datensatzes angezeigt.
1.3.2.1 Datensätze sortieren
Neue Datensätze werden immer am Ende einer Tabelle eingefügt. Wenn Datensätze gelöscht
werden, werden diese entstandenen Lücken erst durch neue Datensätze gefüllt. Das bedeutet,
dass die Daten in der Tabelle unsortiert vorliegen. Die Sortierung erfolgt indem man den
c 2004 Jochen Grundmann
PHP/MySQL
Seite 13
select Befehl um den Zusatz order by erweitert. Die Sortierung ist immer aufsteigend, wenn
absteigend sortiert werden soll, erweitert man den Befehl um den Zusatz desc.
Beispiel
select * from adressen order by name desc;
Dieses Beispiel gibt die Inhalte sortiert nach dem Namen in absteigender Reihenfolge aus.
1.3.3 Datensätze löschen
Datensätze löscht man mit dem Befehl delete.
Syntax
DELETE FROM Tabellenname WHERE Auswahlbedingung
Welche Datensätze aus einer Tabelle gelöscht werden ergibt sich aus der Auswahlbedingung.
Beispiel
delete from adressen;
Dieses Beispiel würde alle Datensätze der Tabelle adressen löschen, da keine Auswahlbedingung angegeben wurde.
Beispiel
delete from adressen where name=’Meier’;
Dieses Beispiel löscht alle Datensätze bei denen im Feld name der Wert Meier steht.
1.3.4 Datensätze aktualisieren
Datensätze werden mit dem Befehl update aktualisiert.
Syntax
UPDATE Tabellenname SET Spaltenname=Ausdruck, ...
WHERE Auswahlbedingung
Beispiel
update adressen set ort=’Köln’ where name=’Meier’;
c 2004 Jochen Grundmann
PHP/MySQL
Seite 14
Dieses Beispiel ändert bei allen Datensätzen, bei denen der Name Meier lautet, den Ort in
Köln.
c 2004 Jochen Grundmann
PHP/MySQL
Seite 15
2 PHP
PHP stellt eine Reihe von Befehlen zur Zusammenarbeit mit MySQL Datenbanken zur Verfügung.
2.1 Erstellen einer Verbindung zum Datenbankserver
Wie bereits oben erwähnt wird zum Herstellen der Verbindung der Name des Datenbankservers, der Benutzername und ein Kennwort benötigt. von PHP aus wird die Verbindung mit
dem Befehl mysql_connect hergestellt.
Syntax
mysql_connect (host, user, passwort)
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
Falls die Verbindung nicht hergestellt werden kann, sollte das Script an dieser Stelle sofort
abgebrochen werden.
Die in dem Beispiel verwendeten Angaben zu Host, User und Passwort gelten für einen
Standalone Rechner.
2.2 Auswahl der Datenbank
Nachdem die Verbindung zum Server hergestellt wurde, muss eine Datenbank ausgewählt
werden. Dies geschieht über den Befehl mysql_select_db.
Syntax
mysql_select_db (Datenbankname)
c 2004 Jochen Grundmann
PHP/MySQL
Seite 16
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
$db_name = "guestbook";
mysql_select_db ($db_name);
2.3 Verbindung zur Datenbank schließen
Wenn die Verbindung zur Datenbank nicht mehr benötigt wird, sollte diese geschlossen
werden. Dazu wird der Befehl mysql_close verwendet.
Syntax
mysql_close ()
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>" ;
mysql_close();
echo "Verbindung geschlossen.";
2.4 Anfragen an den Datenbankserver
Um Anfragen jeglicher Art an den Datenbankserver richten zu können, wird der Befehl mysql_query verwendet. über diese Funktion wird ein SQL Befehl an den Server gesendet. Dieser
SQL Befehl kann sowohl eine Aktualisierungsanfrage an die Tabelle als auch eine Auswahloder Einfügeanfrage sein.
Syntax
mysql_query (Anfrage)
c 2004 Jochen Grundmann
PHP/MySQL
Seite 17
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>" ;
$sql = "select * from adressen";
mysql_query ($sql);
Dieser Befehl sendet nur die Anfrage, es werden damit noch keine Daten aus der Datenbank
ausgegeben.
2.5 Daten hinzufügen
Um Daten in eine Datenbanktabelle einzufügen verwendet man den SQL Befehl insert into.
Dieser Befehl wird, wie bei jeder Anfrage, mit der Funktion mysql_query an den Datenbankserver gesendet.
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook" ;
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql_entry = "insert into adressen (vorname, name, ort)
values(’Fritz’,’Müller’,’Köln’)";
$entry = mysql_query ($sql_entry);
echo "Die Daten wurden eingetragen.<br>";
mysql_close();
echo "Verbindung geschlossen.";
Dieses Beispiel würde immer eine Erfolgsmeldung ausgeben, auch wenn das Eintragen fehlgeschlagen ist. Die folgende Codeänderung berücksichtigt auch diesen Fall.
if ($entry) echo "Die Daten wurden eingetragen.<br>";
else echo "Eintragung fehlgeschlagen.<br>";
c 2004 Jochen Grundmann
PHP/MySQL
Seite 18
Im obigen Beispiel werden die Daten noch fest vorgegeben. Im Normalfall werden die Daten
aus einem Formular kommen. Das Formular könnte ungefähr so aussehen.
Beispiel
<form action="db_form_auswertung.php" method="post"><br><br>
Nachname<input type="text" name="nachname" size="50"><br><br>
Vorname<input type="text" name="vorname" size="50" ><br><br>
Ort<input type="text" name="ort" size="50" ><br><br>
<input type="submit" name="senden" value="Senden"><br><br>
</form>
In diesem Formular werden drei Werte an die Datei db_form_auswertung.php übergeben.
Um diese Daten in die Datenbank einzutragen, muss folgende Codeänderung vorgenommen
werden.
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql_entry = "insert into adressen (vorname, name, ort)
values(’$_POST[vorname]’,’$_POST[name]’,’$_POST[ort]’);
$entry = mysql_query ($sql_entry);
if ($entry) echo "Die Daten wurden eingetragen.<br>";
else echo "Eintragung fehlgeschlagen.<br>";
mysql_close();
echo "Verbindung geschlossen.";
Natürlich sollten alle Felder vor dem Eintragen auf ihre Richtigkeit hin überprüft werden.
2.6 Daten ausgeben
Um die Ergebnisse einer Anfrage auf dem Bildschirm auszugeben, stellt PHP eine Reihe von
Befehlen zur Verfügung.
c 2004 Jochen Grundmann
PHP/MySQL
Seite 19
2.6.1 mysql_num_rows
Mit der Funktion mysql_num_rows kann die Anzahl der Datensätze einer Abfrage ermittelt
werden.
Syntax
mysql_num_rows (result_id)
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql = "select * from adressen";
$result = mysql_query ($sql);
echo " Die Abfrage enthält ".mysql_num_rows($result)." Datensätze.";
mysql_close();
echo "Verbindung geschlossen.";
2.6.2 mysql_fetch_object
Mit der Funktion mysql_fetch_object kann ein einzelner Datensatz aus einem Abfrageergebnis ausgelesen und weiterverarbeitet oder am Bildschirm ausgegeben werden.
Syntax
mysql_fetch_object (result_id)
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql = "select * from adressen";
$result = mysql_query ($sql);
c 2004 Jochen Grundmann
PHP/MySQL
Seite 20
while ($row = mysql_fetch_object($result))
{
echo $row->vorname," " , $row->name," " ,$row->ort," " ,$row->plz;
}
mysql_close();
echo "Verbindung geschlossen.";
2.6.3 mysql_fetch_array
Die Funktion mysql_fetch_array legt einen Datensatz aus einem Abfrageergebnis in einem
Array ab. Die einzelnen Daten werden über ihren Feldnamen angesprochen.
Syntax
mysql_fetch_array (result_id)
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook";
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql = "select * from adressen";
$result = mysql_query ($sql);
while ($row = mysql_fetch_array($result))
{
echo $row["vorname"]," ",$row["name"]," ",$row["ort"]," ",$row["plz"];
}
mysql_close();
echo "Verbindung geschlossen.";
2.6.4 mysql_field_name
Mit der Funktion mysql_field_name kann man die Feldnamen einer Tabelle auslesen.
Syntax
mysql_field_name (result_id, field_number)
c 2004 Jochen Grundmann
PHP/MySQL
Seite 21
Beispiel
$host="127.0.0.1";
$user="root";
$passwort="";
$db_name = "guestbook" ;
mysql_connect($host, $user, $passwort)
or die ("Verbindung zur Datenbank nicht möglich");
mysql_select_db ($db_name);
echo "Verbindung hergestellt.<br>";
$sql = "select * from adressen";
$result = mysql_query ($sql);
$num_rows = mysql_num_rows($result);
$count = 0;
while ($count < $num_rows)
{
echo mysql_field_name($result,$count)."<br>";
$count++;
}
mysql_close();
echo "Verbindung geschlossen.";
Um die Spaltennamen ausgeben zu können muss zuvor die Anzahl der Spalten in der Tabelle
ermittelt werden. Dies geschieht mit der Funktion mysql_num_rows. Die ermittelte Zahl wird
gleichzeitig zur Abbruchbedingung der while-Schleife, mit der die Spaltennamen ausgelesen
werden. Die Funktion mysql_field_name bekommt als zusätzlichen Parameter die Nummer
der Spalte, deren Name ausgegeben werden soll.
Anmerkung: MySQL beginnt beim Zählen der Spalten immer bei 0.
c 2004 Jochen Grundmann
Herunterladen