phpBuddy

Webhosting Gutscheine

Auf der Suche nach einem top Provider? Dann lohnt ein Blick auf diesen Artikel - Gutscheine zum Geld sparen gibt's inklusive!

Sie sind hier: Startseite Die MySQLi Erweiterung
Einführung in die MySQLi-Erweiterung von PHP 5 - Datenbankverbindung
Beitragsseiten
Einführung in die MySQLi-Erweiterung von PHP 5
MySQL vs MySQLi
Datenbankverbindung
Datensätze auslesen
Datensätze schreiben
Mehrfach-Statements
Fazit und Linkübersicht
Alle Seiten

Datenbankverbindung öffnen/schließen

Ohne eine Verbindung zur Datenbank wird es schwer Daten auszulesen bzw. einzutragen. Deswegen kümmern wir uns erst einmal um einen Connect.

 

 

 

 

<?php
 
// Neues Datenbank-Objekt erzeugen
$db = @new mysqli( 'localhost', 'root', '', 'tutorials' );
// Pruefen ob die Datenbankverbindung hergestellt werden konnte
if (mysqli_connect_errno() == 0)
{
    /*
     * Hier wird Code ausgefuehrt, wenn die Datenbankverbindung
     * fehlerfrei hergestellt werden konnte.
     */
}
else
{
    // Es konnte keine Datenbankverbindung aufgebaut werden
    echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
}
// Datenbankverbindung schliessen
$db->close();
 
?>

Es ist nicht schwer zu erkennen was hier geschieht. Wie erzeugen ein Datenbankobjekt, wodurch automatisch eine Verbindung zur DB geöffnet wird, und prüfen ob dies fehlerfrei geschehen ist. Falls nicht, lassen wir uns den Fehlercode mit Fehlermeldung ausgeben. Am Ende des Script schließen wir die Verbindung wieder.

Aber der Reihe nach. Direkt in der ersten Zeile kommt schon etwas neues.

$db = @new mysqli( 'localhost', 'root', '', 'tutorials' );

Das "new mysqli()" entspricht dem "mysqli_connect()" der prozeduralen Schreibweise. Dieser Connect erwartet 3 Pflicht-Parameter, nämlich Serveradresse, Benutzername, Benutzerpasswort. Optional kann man aber auch noch direkt den Datenbankname angeben! Es ist also nicht nötig erst ein mysqli_select_db() auszuführen. Weitere optionale Parameter beim Connect sind Port und Sockel.

Mit mysqli_connect_errno() prüfen wir ob ein Fehler auftrat. Der Fehlercode 0 (Null) bedeutet das alles okay ist. Falls ein Fehler aufgetreten ist lassen wir uns diesen, zusammen mit dem Fehlercode, im else-Block ausgeben.
MySQLi kommt auch mit einer eigenen Exception Klasse (mysqli_sql_exception), die man natürlich erweitern kann um entsprechend auf Fehler zu reagieren.

Jetzt da wir wissen wie man eine Verbindung herstellt, schauen wir uns ein Beispiel an wie man Daten ausliest. Zu diesem Zweck benutze ich eine Mini-Tabelle mit einigen TP-Mod Namen und deren Zuständigkeitsbereich. Den Dump dieser Tabelle, sowie die Dateien zu diesem Tutorial gibt's weiter unten als Download.