Aus gesundheitlichen Gründen kann ich diese Seite nicht weiterpflegen, aktualisieren oder euch Support für eure PHP-Probleme anbieten. PHP für dich bleibt aber in seiner aktuellen Form erhalten und funktioniert nach wie vor als Einstieg in die PHP-Welt - gerade, wenn dich technischere Anleitungen bisher immer davon abgehalten haben.
Mehr dazu...

MySQL

Verbindung zur Datenbank...

... aufnehmen.

Um jetzt mit PHP auf die Daten in unserer Datenbank zugreifen zu können, müssen wir zunächst eine Verbindung herstellen. Dies erfolgt über den Befehl mysqli_connect und noch vor allen anderen Inhalten des Dokumentes.

Der Befehl benötigt den Servernamen, den Benutzernamen, Kennwort und die gewünschte Datenbank. Zusätzlich ist es möglich Port und Socket anzugeben, das wird aber in den meisten Fällen für dich nicht notwendig sein.

Benutzername und Kennwort sind jeweils die, die bei der Datenbank angegeben werden. Du findest sie entweder in der Konfigurationsoberfläche deines Hosters oder hast sie evtl. per eMail bekommen. Der Servername ist häufig "localhost". Immer mehr Hoster haben aber ihre Datenbanken auf einen eigenen Server ausgelagert. In dem Fall muss dann der Pfad zu dem Server angegeben werden. Der Name der Datenbank ist üblicherweise ebenfalls vom Hoster vorgegeben und findet sich in den meisten Fällen dort, wo du auch deine Datenbank anlegst.

Um die Datenbankverbindung (und damit die Datenbank selbst) später ansprechen zu können schreiben wir den Verbindungsaufbau in eine Variable. So schaut das dann z. B. aus:
<?php
$db = mysqli_connect("localhost", "Benutzername", "Passwort", "Datenbankname");
?>
Sollte irgendetwas bei der Verbindung zur Datenbank nicht funktionieren, ist es sinnvoll, sich Fehlermeldungen anzeigen zu lassen, damit man weiß, wo der Fehler auftrat. Das sieht dann so aus:
<?php
$db = mysqli_connect("localhost", "Benutzername", "Passwort", "Datenbankname");
if(!$db)
{
  exit("Verbindungsfehler: ".mysqli_connect_error());
}
?>
Nach der Verbindung zur Datenbank wird überprüft, ob tatsächlich etwas in unserer Variable $db enthalten ist. Falls nicht ist irgendetwas schiefgegangen und wir rufen die Funktion exit auf. Sie sorgt dafür, dass der nachfolgende Code nicht ausgeführt wird und zeigt zusätzlich das an, was wir in der Klammer dahinter angegeben haben. In unserem Fall also den Text "Verbindungsfehler:" gefolgt vom Befehl mysqli_connect_error(). Dieser enthält die Fehlermeldung, die mySQL geliefert hat und hilft uns hoffentlich dabei, das Problem zu lösen.

Manchmal wirst du über den Befehl die anstatt exit stoßen. Er funktioniert genauso und die Verwendung ist nur eine Frage der persönlichen Vorlieben.

Da die Daten zur Datenbankverbindung in den meisten Fällen in mehreren Dateien verwendet werden, sich aber bei einem Serverumzug ändern könnten, ist es sinnvoll, diesen Teil in einer extra Datei zu speichern und sie anschließend über den Befehl include in jeder Seite wieder einzubinden - so braucht man eine spätere Änderung nur in einer Datei vornehmen.

Bei mir nennt sich diese Datei dbconnect.php (die Endung ist egal, aber eine PHP-Datei kann von niemandem gelesen werden und somit sind die Daten sicher) und beinhaltet genau das, was wir oben schon gemacht haben:
<?php
$db = mysqli_connect("localhost", "Benutzername", "Passwort", "Datenbankname");
if(!$db)
{
  exit("Verbindungsfehler: ".mysqli_connect_error());
}
?>
In der Datei, in der wir die Datenbankverbindung benötigen steht dann ganz oben (vor <html> oder irgendetwas anderem)
<?php
include("dbconnect.php");
?>
Als nächstes wollen wir uns ansehen, wie wir unsere Daten abfragen können.

Dieses Kapitel behandelt einen ersten Einstieg in die Arbeit mit mySQL-Datenbanken. Es dient dem grundsätzlichen Verständnis der Kommunikation zwischen PHP und der Datenbank. Für den produktiven Einsatz ist es wichtig, sich detailierter mit diesem Thema zu beschäftigen und besonderen Augenmerk auf Sicherheitsaspekte zu legen. Ein Einstieg dazu ist der Artikel SQL-Injection.

Autor: Claudia Unkelbach


Spenden via PayPal

=> Weiter
© 2001 - 2024 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen