Home - Datenbanken und PHP www.sqldocu.com
zurück vor



Programm Code


Beschreibung
top
Hier versuchen wir zu zeigen wie SQL Befehle in PHPSkripts verwendet werden. Man spricht von embedded (eingebetetes) SQL. Um auf ein RDBMS (DatenbankServer) zugreifen zu können ist folgendes nötig:
  • Verbindung zum RDBMS herstellen
  • SQL Anweisung
  • Verbindung mit RDBMS trennen
In Abschnitt SQL Anweisungen mit PHP wird besonders auf den Syntax von SQL Anweisungen eingegangen.


Syntax
top
Unten listen wir ein PHPSkript auf, das sich mit einem MySQL RDBMS verbindet. Das RDBMS läuft auf dem gleichen Rechner wie das PHPSkript, deshalb können wir als HostNamen localhost verwenden. Das Skript erzeugt die Datenbank meineDb.

Zeile1:
Zeile2:
Zeile3:
Zeile4:
Zeile5:
<?php // Befehl leitet "PHP Modus" ein
$dbh = mysql_connect("localhost","root","geheim"); // Db Verbindung hergestellt
$result = mysql_query ("CREATE DATABASE meineDb",$dbh); // Datenbank wird erstellt
mysql_close($dbh)
# Db verbindung beeenden
?>
// Befehl beendet "PHP Modus"


Besteht bereits eine Datenbank:

Zeile1:
Zeile2:
Zeile3:
Zeile4:
Zeile5:
Zeile6:
Zeile7:
Zeile8:
<?php // Befehl leitet "PHP Modus" ein
$dbh = mysql_connect("localhost","root","geheim"); // Db Verbindung hergestellt
$DBName="meineDb";
mysql_select_db($DBName,$dbsocket); // Wahl der Db
$SQLQuery="SELECT * FROM meineTabelle";
$result = mysql_query ($SQLQuery,$dbh); // Datenbank wird erstellt
mysql_close($dbh)
# Db verbindung beeenden
?>
// Befehl beendet "PHP Modus"

Hinweis:  dbh steht für databasehandler. Viele Programmierer wählen diesen oder einen ähnlichen VariablenNamen.


In den PHP Modus wechseln
top
<?php

Der PHPInterpreter gibt ein Skript (PHP Datei), solange er sich nicht im Befehlsmodus befindet, 1:1 wider. Das Skript hallowelt.php

Hallo Welt

wird von PHP 1:1 widergegeben, wir sehen in der Ausgabe:

Hallo Welt

Um PHP Befehle auszuführen zu können, muss in den Befehlsmodus gewechselt werden. Dies geschieht mit dem einleitenden Tag <?php
Der Befehlsmodus wird mit ?> beendet.
Alles zwischen <?php und ?> wird vom Interpreter als Programmkode angesehen. Der Programmkode muss sich an den Syntax des Interpreters halten. Ansonsten enthält die Ausgabe eine Warnung des PHPInterpreters.
Das Skript halloWeltBefehlsModus.php

<?php
echo "Hallo Welt";
?>

erzeugt die Ausgabe:

Hallo Welt



Mit RDBMS verbinden
top
$dbh = mysql_connect("host","Benutzername","Passwort");

mysql_connect ... PHP Befehle der eine Verbindung zu einem RDBMS des Herstellers MySQL herstellt. Zurück wird ein Datenbankhandler gegeben, mit dem anschliessend auf die Verbindung zugegriffen werden kann.
host ... Adresse des RDBMS mit dem Verbinung hergestellt werden soll. Befindet sich RDBMS auf dem gleichen Rechner kann als Adresse localhost verwendet werden.
Benutzernamen ... Benutzernamen unter dem Verbindung hergestellt werden soll.
Passwort ... Passwort des Benutzers.
$dbh ... Rückgabewert der Funktion mysql_connect. Mit seiner Hilfe kann auf die hergestellte DB-Verbindung zugegriffen werden. Daher wird er DATENBANKHANDLER genannt.

Der Befehl mysql_connect unterstützt wesentlich mehr Optionen. Mehr dazu findet man im PHP Manual unter

www.php.net




SQL-Befehl/Datenbank erzeugen
top
$result = mysql_query ("CREATE DATABASE meineDb",$dbh);

mysql_query ... PHP Befehle um einen SQL Befehl auszuführen.
"CREATE DATABASE meineDb" ... SQL Befehl siehe CREATE DATABASE.
$dbh ... Datenbankhandler siehe Mit RDBMS verbinden


Wurde bereits mit mysql_select_db (siehe Syntax) eine Datenbank des RDBMS ausgewählt, kann statt CREATE DATABASE meineDb jeder SQL Befehl verwendet werden.


Verbindung mit RDBMS beenden
top
mysql_close($dbh)

Befehl mysql_close beendet Verbindung zum RDBMS. $dbh ist der Datenbankhandler der Verbindung (siehe Mit RDBMS verbinden).



PHP Modus beenden
top
?>

Beendet den PHP Modus. Siehe auch In den PHP Modus wechseln



top