[Tutorial] Verbindung zu MySql und Auswahl einer DatenbankSie befinden sich: Home > Webmaster News
Viele Server-Administrationstools bieten die Möglichkeit, sich selbst eine oder mehrere MySql-Datenbanken anzulegen und Zugangsdaten einzurichten. Wenn Ihr Webspace nicht mit solch einem Tool ausgestattet ist, wenden Sie sich an Ihren Serveradmin, der Datenbank und Zugangsdaten einrichten kann.
Die Zugangsdaten bestehen aus einem Servernamen, einem Usernamen und einem Passwort. Der Servername ist in den meisten Fällen 'localhost'. Abweichende Servernamen wird Ihnen Ihr Admin mitteilen.
Mit PHP verbinden Sie sich zur Datenbank so:
<?php
$conn = mysql_connect('localhost', 'username', 'password');
if (!$conn) {
die('Verbindung gescheitert: ' . mysql_error());
}
// Datenbank foo selektieren
$conn_db = mysql_select_db('foo', $conn);
if (!$conn_db) {
die ('Auswahl der Datenbank: foo gescheitert: ' . mysql_error());
}
?>
Wenn dieser Code ohne Fehler gelaufen ist, können Sie auf alle Tabellen der Datenbank foo zugreifen.
Wie man sehen kann, ist im Code der Username und das Passwort im Klartext gespeichert. Man sollte diesen Code daher niemals direkt in sein Script schreiben, sondern ihn auslagern und bei Bedarf includen. Dies birgt noch den Vorteil, dass man bei Änderungen von Zugangsdaten nur eine einzige Datei updaten muss.
tragen Sie im o.a. Code Ihre eigenen Zugangsdaten ein und speichern Sie ihn unter dem Namen connect.php ab. Verbinden Sie sich dann mit Ihrem FTP-Programm auf Ihren Server und schauen Sie nach, ob Sie einen Ordner ausserhalb des www anlegen können. Wenn der Webordner, der meistens mit www oder mit public_html bezeichnet ist, unter z.B. solch einem Pfad liegt:
/domainname/home/www/
dann können Sie solch einen Ordner neu anlegen:
/domainname/home/includes/
In desen neuen Ordner includes speichern Sie nun Ihre connect.php und includen sie in Ihren php-Scripts mit
<?php
include '/domainname/home/includes/connect.php';
?>
Sollte Ihr Server ausfallen, und versehentlich ohne PHP gestartet werden, dann werden alle Ihre Scripte nicht mehr ausgeführt, sondern der Code im Klartext angezeigt. Wenn Sie die Zugangsdaten so wie beschrieben aus dem Web geholt haben, kann dennoch niemand Usernamen und passwort ablesen, da die connect.php nicht erreichbar ist.
Die Verbindungskennung $conn benötigen Sie übrigens nur, wenn Sie mehrere verschiedene Datenbankzugänge parallel öffnen möchten, oder wenn Sie mit mysql_close() die Verbindung zu einer der Server schließen möchten. Wenn Sie nur ein einziges Mal mysql_connect ausgeführt haben, so reicht mysql_close() ohne weiteren Parameter.
Die Verbindung zu MySql wird übrigens am Ende des Scripts automatisch geschlossen. Es gibt insofern kaum einen Grund dafür, dies manuell erledigen zu wollen.
Falls Sie mysql_connect() versehentlich mehrfach aufrufen, so ist das nicht weiter tragisch. Es wird Ihnen dann die gleiche Verbindngskennung $conn zurückgegeben und keine neue Verbindung geöffnet.
(Autor: Wolfgang), Eingetragen am 29.08.2008
Schreib ein Kommentar
|