(letzte Änderung an dieser Seite: 07.08.2010)
(letzte Synchronisation der PDF-Präsentation: 02.08.2017)
Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation
In allen folgenden Beispielen werden folgende Benutzerdaten angenommen:
Host: localhost
[Port: 8889]
User: root
Password: root
Datenbankname: sqltest
Um per PHP eine Verbindung zum Datenbankserver zu öffnen, wird mysql_connect() benutzt, Syntax mit den drei notwendigen Argumenten (mehr: php.net – mysql_connect-Manual):
PHP-Codemysql_connect(Hostname, Benutzername, Passwort)
Hostname ist dabei meist localhost
(defaultwert: ‘localhost:3306’); wenn kein Passwort gesetzt ist, werden zwei leere Anführungszeichen vergeben. mysql_connect funktioniert mit doppelten und mit einfachen Anführungszeichen.
z.B.
PHP-Codemysql_connect("localhost", "root", "root"); mysql_connect('localhost', 'root', '');
Meist bietet es sich an, die Verbindung in einer Variablen zu speichern (“Verbindungsbezeichner”), z.B.
PHP-Code$link = mysql_connect('localhost', 'root', 'root');
Diese Variable kann auch verwendet werden, um die Verbindung zum Datenbankserver später zu schließen (s.u.). Gerne benutzt man hier $link
als Variable.
funktioniert wie mysql_connect, allerdings wird durch das Prozedurende oder mysql_close() die Verbindung zur Datenbank nicht geschlossen. Das ist nützlich, wenn man die gleiche Verbindung häufiger nutzen möchte, denn der Verbindungsaufbau benötigt nicht nur (relativ) viel Zeit, sondern muss auch jedes mal neu explizit vorgenommen werden.
Wird direkt nach der Definition des Verbindungsbezeichners getätigt.
PHP-Codeif (! $link) { exit ("Es konnte keine Verbindung hergestellt werden"); }
Alternativ die Kurzform:
PHP-Code$link = mysql_connect('localhost', 'root', 'root') or exit ("Es konnte keine Verbindung hergestellt werden.");
Syntax:
PHP-Codemysql_select_db(Datenbankname[, Verbindungskennung])
Beispiele:
PHP-Codemysql_select_db('sqlTest'); mysql_select_db($db_name, $verbindung);
Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. (mehr: php.net – mysql_connect-Manual). In der Regel reicht also mysql_select_db($db_name);
Auch die Verbindung zur DB kann getestet werden:
PHP-Codemysql_select_db($db_name) or exit ("Die Datenbank existiert nicht.");
PHP-Codemysql_close($link);
Warum mysql_close() normalerweise nicht notwendig ist:
Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung geschlossen. Die Verwendung von mysql_close() ist für gewöhnlich nicht notwendig, weil offene, nicht persistente Verbindungen automatisch mit Beendigung des PHP-Skripts geschlossen werden. (php.net: mysql_close-Manual)
Das Skript bleibt flexibler, wenn die notwendigen Informationen in Variablen gespeichert werden, also Hostname, Nutzername, Kennwort, Datenbankname, Verbindung.
öffnet eine Verbindung und schließt sie wieder.
PHP-Code<?php $db_server = "localhost"; // Host-Name $db_user = "root"; // Benutzername $db_pass = "root"; // Kennwort $db_name = "sqltest"; // Name der Datenbank $link = mysql_connect($db_server, $db_user, $db_pass) or exit ("Es konnte keine Verbindung zum Datenbankserver hergestellt werden"); mysql_select_db($db_name, $link) or exit ("Diese Datenbank existiert nicht."); mysql_close($link); ?>
PHP-Code$db_server = localhost; // Host-Name $db_user = root; // Benutzername "$db_pass" = root; // Kennwort "$db_name" = sqltest; // Name der Datenbank "$link" = mysql_connect($db_server, $db_user, $db_pass) or "exit (Es konnte keine Verbindung zum Datenbankserver hergestellt werden)"; mysql_select_db("$db_name", "$link") or exit (Diese Datenbank existiert nicht.); mysql_close("$link");
PHP-Code$db_server = "localhost"; // Host-Name $db_user = "root"; // Benutzername $db_pass = "root"; // Kennwort $db_name = "sqltest"; // Name der Datenbank $link = mysql_connect($db_server, $user, $db_pass) or exit ("Es konnte keine Verbindung zum Datenbankserver hergestellt werden") mysql_select($db_name, $link) or exit ("Diese Datenbank existiert nicht."); mysql_close($link);
PHP-Code$link = mysql_connect('login_name', 'pwd123', 'mein_server'); mysql_select_db($test_datenbank) or exit ("Diese Datenbank existiert nicht.");
PHP-Code<?php // Zugangsdaten spezifizieren $db_server = 'localhost'; $user = 'root'; $pass = 'root'; // bei WAMP(Windows): leer $db_name = 'mysql'; // hier bitte DB-Name eintragen // Verbindung zum DB-Server aufbauen $link = mysql_connect($db_server, $user, $pass) or exit ("Zugangsdaten (Server, Username und/oder Passwort) nicht korrekt!<br />"); // Mit Datenbank $db_name verbinden mysql_select_db($db_name) or exit ("Angegebene Datenbank existiert nicht!"); // Erfolgsmeldung ausgeben echo "Verbindung zur DB erfolgreich hergestellt!<br />\n"; ?>