Verbindung zur Datenbank herstellen und trennen

Jetzt gehts los, wir greifen mit PHP auf unsere Datenbank zu und führen SQL Befehle aus, kurz: MySQL.
Erstmal müssen wir eine Verbindung zur Datenbank herstellen, das geht mit folgendem PHP-Code:

<?php
	mysql_connect("localhost", "Benutzername","Passwort");
	mysql_select_db("Datenbank-Name");
?>

Erklärung:
Der PHP-Befehl „mysql_connect“ öffnet eine Verbindung zu einem MySQL-Server. „localhost“ ist in der Regel der richtige Wert, ausser dein PHP-Skript liegt auf einer anderen Domain, also du möchtest von „domain-a.de“ (auf der dein Skript liegt) auf eine Datenbank von „domain-z.de“ zugreifen, dann müsstest du anstatt „localhost“ den Wert „domain-z.de“ eintragen.
Benutzername und Passwort sind die Datenbank-Logindaten, die werden meistens automatisch generiert, wenn du die Datenbank anlegst. Wenn du PHPMyAdmin auf deinem Computer installiert hast, ist der default-Wert für den Benutzernamen „root“ und das Passwort ist nicht gesetzt, also:

<?php
	mysql_connect("localhost", "root","") or die ("Verbindung nicht möglich");
?>

Mit dem PHP-Befehl „mysql_select_db“ wählen wir die Datenbank aus, auf die wir zugreifen möchten. Dein MySQL-Server kann ja auch mehr als 1 Datenbank haben, deshalb müssen wir das noch mit angeben. Mit diesen beiden Befehlen würde eine Verbindung zur Datenbank stehen. Du kannst die Verbindungsdaten noch in einer Variablen speichern, ist aber erstmal nicht nötig.

Fehler abfangen

Wir sollten allerdings noch für den Fall, dass die Verbindung nicht klappt, eine Fehlermeldung ausgeben:

<?php
	mysql_connect("localhost", "Benutzername","Passwort") 
		or die ("Verbindung nicht möglich");

	mysql_select_db("Datenbank-Name") 
		or die ("Datenbank existiert nicht");
?>

Dadurch kannst du schnell den Fehler finden, falls du einen Wert falsch eingetragen hast oder die Datenbank nicht existiert.

Verbindungsdaten speichern und MySQL Verbindung schließen

Normalerweise musst du nicht explizit die Verbindung wieder schließen, denn das erfolgt automatisch am Ende des Scripts. Wenn du die Verbindung früher beenden möchtest, brauchst du erstmal eine Variable die die Verbindung speichert:

<?php
	$link = mysql_connect("localhost", "Benutzername","Passwort") 
		or die ("Verbindung nicht möglich");
	mysql_select_db("Datenbank-Name") 
		or die ("Datenbank existiert nicht");

	mysql_close($link); //schließt die Verbindung zur Datenbank
?>

connect.php – Verbindungsdaten speichern

Da man häufig mehrere PHP-Skripte hat, die alle auf die Datenbank zugreifen, kann es sinnvoll sein die Verbindungsdaten in der Datei connect.php auszulagern und bei Bedarf einzubinden:

connect.php

<?php
	mysql_connect("localhost", "Benutzername","Passwort") or die ("Verbindung nicht möglich");
	mysql_select_db("Datenbank-Name") or die ("Datenbank existiert nicht");
?>

Damit kannst du nun in jedem Skript eine Verbindung zu deiner Datenbank aufbauen. Jetzt wollen wir mal schauen, wie wir mit MySQL Daten aus unserer Datenbank selektieren.

hier geht's weiter...



Kommentare


Wo gibt man denn diese PHP Befehle ein? Auf der Seite von localhost irgendwo?


Dafür musst du eine index.php Datei anlegen. Doch ich empfehle dir das PHP Tutorial zuerst durchzugehen, da du ohne PHP die MySQL Befehle nicht nutzen kannst.


Wie Chris sagt: Lege eine Datei index.php an und – falls Du xampp nutzt, lege diese Datei in das xampp-root-Verzeichniss ab. Das ist bei Windows oft der Ordner C:xampphtdocs.

Ich würde das Skript erst mal <?php echo "hallo, welt"; ?> als Skript ausprobieren, um zu sehen, ob Du tatsächlich auf die Datei zugreifen kannst. Dann im Firefox einfach localhost/index.php eingeben und er müsste den Text anzeigen. Viel Glück!


Frage:
Warum soll ich SQL-Anfragen per PHP machen? Kann ich sie nicht direkt per MySQLAdmin machen bzw. durch einen MySQL Client?
Gibt es Vorteile /Nachteile oder ist anwendungsbedingt (Use Case ?) ?
Geht es vor allem darum, wie ich die Ergebnisse bekomme ?
Vielen Dank!

Kommentar schreiben

Kommentar

Hilfe:

<strong>fettgedruckt</strong> => fettgedruckt

<em>kursiv</em> => kursiv

<a href="http://wordpress.lernenhoch2.de">Link</a> => Link

[code]<?php echo 'hello world'; ?>[/code]

*

Feedback Formular