Der Aufbau einer Verbindung zu einer Datenbank geht immer wie folgt von statten:
- Aufbau der Verbindung zum Datenbankserver.
- Übermittlung von Benutzernamen und Passwort, mit welchem sich am Server angemeldet wird.
- Selektieren der gewünschten Datenbank.
PHP besitzt drei Bibliotheken, mit denen es sich mit einer Datenbank verbinden kann: Die veraltetet MySQL-Standardlibrary, die verbesserte MySQLi-Library und die PHP Data Objects (PDO). Von diesen dreien ist die MySQL-Standardlibrary veraltet. Seit PHP 7 ist sie gar ganz entfernt worden. Aus diesem Grunde werden nur noch die letzten beiden hier behandelt. MySQLi kann entweder prozedural oder objektorientiert angesprochen werden. Prozedural wird diese Bibliothek wie folgt genutzt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // unser Datenbankserver ist lokal $DATABASEHOST = ‘localhost’; $DATABASEUSER = ‘benutzer’; $DATABASEPASSWORD = ‘passwort’; $DATABASENAME = ‘demodatenbank’; // Öffnen der Verbindung $dbconnection = mysqli_connect($DATABASEHOST, $DATABASEUSER, $DATABASEPASSWORD, $DATABASENAME); // Gab es Probleme? if (mysqli_connect_errno($dbconnection)) { echo ("Probleme mit der Verbindung: " . mysqli_connect_error()); } // Arbeiten auf der Datenbank // Ende der Arbeiten auf der Datenbank und Schließen der Connection mysqli_close($dbconnection); ?> |
Bei Aufruf von mysqli_close($dbconnection)
oder bei Beendung des Skripts wird die Verbindung zur Datenbank wieder getrennt und die entsprechenden Ressourcen freigegeben.
Der objektorientierte Stil baut die Datenbankverbindung wie folgt auf:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // unser Datenbankserver ist lokal $DATABASEHOST = ‘localhost’; $DATABASEUSER = ‘benutzer’; $DATABASEPASSWORD = ‘passwort’; $DATABASENAME = ‘demodatenbank’; // Öffnen der Verbindung $dbconnection = new mysqli($DATABASEHOST, $DATABASEUSER, $DATABASEPASSWORD, $DATABASENAME); // Gab es Probleme? if ($dbconnection->connect_errno) { echo "Verbindungsprobleme " . $dbconnection->connect_error; } // Arbeiten auf der Datenbank // Ende der Arbeiten auf der Datenbank und Schließen der Connection $dbconnection->close(); ?> |