PHP Tutorial | Mit MySQLi Daten speichern und abrufen

PHP Tutorial | Mit MySQLi Daten speichern und abrufen

In diesem Tutorial werde ich Dir zeigen, wie du mit MySQLi in PHP leicht Daten speichern und abrufen kannst.

Schritt 1:

Eine Verbindung mit der MySQL-Datenbank herstellen. Hierfür musst Du zunächst MySQLi initialisieren. Das geht wie folgt:

$db = new mysqli('host','benutzername','passwort','datenbank');

Hier musst du noch folgende Dinge ersetzen:

host – Die IP-Adresse, Domain oder Lokale-Adresse Deines MySQL-Servers. Wird Dein Script auf dem gleichen Server ausgeführt, wo auch Dein MySQL-Server läuft, kannst du als Host localhost angeben.

benutzername – Der Benutzername eines Accounts Deines MySQL-Servers, welcher die benötigten Berechtigungen besitzt.

passwort – Passwort des Benutzers. Existiert kein Passwort, sollte das Feld leer sein.

datenbank – Name der Datenbank welche Du verwenden möchtest.

Schritt 2:

Anschließend kann noch geprüft werden, ob die Verbindung mit der Datenbank erfolgreich war.

// Verbindung mit der Datenbank herstellen
$db = new mysqli('host','benutzername','passwort','datenbank');
// Erfolg der Verbindung prüfen
if($db->connection_error):
	// Tritt ein Fehler auf, kannst Du hier dem Nutzer eine Rückmeldung geben
	echo 'Hier ist etwas schief gelaufen! Bitte probiere es in einigen Minuten erneut.';
endif;

Anfragen ausführen:

Querry:

$anfrage = $db->query("SELECT * FROM tutorial");

Prepare:

$anfrage = $db->prepare("SELECT * FROM tutorial WHERE id = ?");
// Nun muss die ID, welche gesucht wird, hinzugefügt werden
// Da eine Zahl den Typ INT hat, müssen wir ein i in das erste Feld eintragen
$anfrage->bind_param('i',$id);

// Wir wollen nun nach der ID 3 suchen.
// Hierführ weisen wir einfach die Zahl 3 der Variable $id zu.
// Dies kann nicht nur vor dem bind_param geschehen, sondern auch danach.
$id = 3;

// Nun da unsere Anfrage vorbereitet ist, können wir sie ausführen
$anfrage->execute();

// Als Antwort erhalten wir nicht die Gleiche wie bei einem normalen Querry.
// Daher müssen wir uns die Antwort erstmal holen
$antwort = $anfrage->get_result();

So eine Prepare-Anfrage sieht jetzt natürlich viel länger und komplizierter aus, jedoch hat sie auch ihre vorteile. Von sich aus ist diese Anfrage schon gegen SQL-Injektionen geschützt. Außerdem kann bei einer längeren Schleife, ein und die selbe anfrage genutzt werden, was die Geschwindigkeit steigern kann.

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.