PHP mit MySQL verbinden

Verbindung zu MySQL öffnen

Bevor  wir auf Daten in der MySQL Datenbank zugreifen können, müssen wir eine Verbindung zum Server herstellen:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Verbindung herstellen
$conn = new mysqli($servername, $username, $password);
// Verbindung prüfen
if ($conn->connect_error) {
    die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
echo "Verbindung erfolgreich";
?>

Verbindung schliessen

Die Verbindung wird automatisch geschlossen, wenn das Skript endet. Um die Verbindung vorher zu schliessen, benutze folgendes:
$conn->close();

Datenbank erstellen

Eine Datenbank besteht aus einer oder mehreren Tabellen. Du benötigst spezielle CREATE-Berechtigungen, um eine MySQL-Datenbank zu erstellen oder zu löschen. Das CREATE DATABASE Statement wird benutzt zu eine Datenbank in MySQL zu erstellen. Das folgende Beispiel erstellt eine Datenbank mit dem Namen“myDB“:

// Datenbank erstellen
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
    echo "Database created successfully";
} else {
    echo "Error creating database: " . $conn->error;
}
Beachte: Wenn du eine neue Datenbank erstellst musst du nur die ersten drei Parameter des mysqli-Objekts festlegen (servername, username and password).
Tipp: Wenn du einen spezifischen Port nutzen musst, füge dem einen leeren String für den Datenbanknamen hinzu, wie hier: new mysqli(„localhost“, „username“, „password“, „“, port)

Eine MySQL Tabelle erstellen

Das CREATE TABLE Statement wird genutzt um eine Tabelle in MySQL zu erstellen. Wir werden eine Tabelle mit dem Namen „MyGuests“ mit fünf Spalten erstellen: „id“, „firstname“, „lastname“, „email“ und „reg_date“:

// Tabelle erstellen
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
    echo "Tabelle MyGuests erfolgreich erstellt";
} else {
    echo "Fehler beim erstellen der Tabelle: " . $conn->error;
}

Beachte zu der Tabelle oben.

Der Datentyp legt fest, welche Art Daten die Spalte speichern kann. Für eine komplette Referenz aller verfügbaren Datentypen, gehe zu MySQL Data Type Reference.

Nach dem Datentyp kannst du weitere optionale Attribute für jede Spalte setzen:

  • NOT NULL – Jede Zeile muss einen Wert in dieser Spalte aufweisen, null Werte sind nich erlaubt
  • DEFAULT Wert – Lege einen Standardwert fest, wenn kein anderer Wert angegeben wird
  • UNSIGNED – Wird für Zahlen genutzt, limitiert die gespeicherten Daten zu positiven Zahlen und Null
  • AUTO INCREMENT – MySQL erhöht automatisch den Wert dieses Feldes um 1, jedes Mal wenn ein Eintrag hinzugefügt wird
  • PRIMARY KEY – Wird genutzt um die Reihen eindeutig in der Tabelle zu identifizieren. Die Spalte mit der PRIMARY KEY Eigenschaft ist oft eine ID und wird vielfach in Kombination mit AUTO_INCREMENT genutzt

Jede Tabelle sollte über eine PRIMARY KEY Spalte verfügen (in diesem Fall: die „id“ Spalte). Der Wert muss einmalig sein für jeden Eintrag in der Tabelle.