15.09.2024
Heim / Spielekonsolen / Herstellen einer Verbindung zu MySQL PHP 5. Herstellen einer Verbindung zu einer MySQL-Datenbank. Ein progressiverer Verfahrensstil – Verbindung zur Datenbank über MySQL

Herstellen einer Verbindung zu MySQL PHP 5. Herstellen einer Verbindung zu einer MySQL-Datenbank. Ein progressiverer Verfahrensstil – Verbindung zur Datenbank über MySQL

Mit PHP...

Erstellen einer Verbindung zu einer Datenbank in PHP auf verschiedene Arten:

1) die altmodische Art, eine Verbindung zu MySQL herzustellen:

$conn=mysql_connect($db_hostname, $db_username, $db_password) or die ("Keine Verbindung zum Server");
mysql_select_db($db_database,$conn) or die („Nein, es war nicht möglich, eine Verbindung zur Datenbank herzustellen“);

Erläuterungen zu den Variablen unten.

Folgende Funktionen kommen zum Einsatz:

  • mysql_connect()- um eine Verbindung zum Server herzustellen;
  • mysql_select_db()- um eine Verbindung zur Datenbank herzustellen;

Gleichzeitig prüfen wir auf diese Weise ständig, ob Fehler vorliegen: oder sterben („Der Fehler ist so und so“); - übersetzt als oder stirb mit diesem und jenem Fehler - um sofort herauszufinden, wo der Fehler liegt.

config.php

// Variablen für die Verbindung zur Datenbank
$host = "localhost"; /Gastgeber
$username = "root"; // Passwort für die Verbindung zur Datenbank
$password = ""; // Passwort für die Verbindung zur Datenbank - on lokalen Computer es kann einen leeren Wert haben.
$database_name = "my-dolgi"; // Datenbankname

// alte Art der Verbindung zur Datenbank
mysql_connect($host, $username, $password) or die("Verbindung kann nicht hergestellt werden");

// Datenbank auswählen. Wenn ein Fehler vorliegt, Ausgabe
mysql_select_db($database_name) or die(mysql_error());

index.php

require_once "config.php";


$result = mysql_query("SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5") or die(mysql_error());



";


while ($row = mysql_fetch_assoc($result)) (
";
}


mysql_free_result($result);

// Verbindung schließen
mysql_close();

2) Ein fortschrittlicherer Verfahrensstil – Verbindung zur Datenbank über mysqli:

Diese Methode:

  1. bequemer;
  2. bis zu 40-mal schneller;
  3. erhöhte Sicherheit;
  4. es gibt neue Features und Funktionen;

Ein Beispiel für die Verbindung zu einer Datenbank in PHP mit einer Auswahl aus einer Tabelle

config.php

// Verbindungen zur Datenbank
$link = mysqli_connect("localhost", "username", "password", "name-database"); // hier geben wir direkt Ihre Daten ein: Benutzername, Passwort und Datenbankname, das erste Feld ist normalerweise localhost

// Verbindungsfehler ausgeben
if (!$link) (
echo "Fehler beim Herstellen der Verbindung zur Datenbank. Fehlercode: " . mysqli_connect_error();
Ausfahrt;
}

Bitte beachten Sie, dass überall MySQL verwendet wird, nicht MySQL!!!

index.php

require_once "config.php";

// Anfrage ausführen. Wenn ein Fehler vorliegt, zeigen wir ihn an
if ($result = mysqli_query($link,„SELECT Name, Money FROM Debt ORDER BY Money DESC LIMIT 5“)) (

Echo „Wem schulde ich etwas in absteigender Reihenfolge:

";

// Abfrageergebnisse abrufen
while ($row = mysqli_fetch_assoc($result)) (
echo $row["Name"] . „mit Schulden“. $row["Geld"] . " Rubel.
";
}

// Benutzten Speicher freigeben
mysqli_free_result($result);

// Verbindung schließen
mysqli_close($link);
}

Wie Sie sehen, haben sich einige Punkte geändert (in Kursivschrift).

3) Objektorientierte Methode zur Verbindung mit einer MySQL-Datenbank – mithilfe von Methoden und Klassen:

Nachteile: Komplexer und weniger fehleranfällig.

Vorteile: Kürze und Bequemlichkeit für erfahrene Programmierer.

$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if($conn->connect_errno)(
die($conn->connect_error);
) else (echo „Die Verbindung zur Datenbank wurde erfolgreich hergestellt“;)

hier ist im Prinzip alles intuitiv:

  • $db_hostname ist Gastgeber(meistens localhost),
  • $db_database - Datenbankname;
  • $db_username und $db_password – Benutzername bzw. Passwort!

Ein Beispiel für die Verbindung zu einer Datenbank im PHP-OOP-Stil mit Stichproben aus einer Tabelle

config.php

// Verbindungen zur Datenbank
$mysqli = new mysqli("localhost", "username", "password", "name-database"); // hier geben wir direkt Ihre Daten ein: Benutzername, Passwort und Datenbankname, das erste Feld ist normalerweise localhost

// Verbindungsfehler ausgeben
if ($mysqli->connect_error) (
die ("DB-Verbindungsfehler: (" . $mysqli->connect_errno . ") " . mysqli_connect_error) ;
}

Bitte beachten Sie, dass überall MySQL verwendet wird, nicht MySQL!!! und im Gegensatz zur vorherigen Methode erscheinen Pfeile „->“, die darauf hinweisen, dass es sich um einen OOP-Stil handelt.

index.php

require_once "config.php";

// Anfrage ausführen. Wenn ein Fehler vorliegt, zeigen wir ihn an
if ($result = $ mysqli->query(„SELECT Name, Money FROM Debt ORDER BY Money DESC LIMIT 5“)) (

Echo „Wem schulde ich etwas in absteigender Reihenfolge:

";

// Abfrageergebnisse abrufen
while ($row = $result-> fetch_assoc()) {
echo $row["Name"] . „mit Schulden“. $row["Geld"] . " Rubel.
";
}

// Benutzten Speicher freigeben
$result->close();

// Verbindung schließen
$mysqli->close();
}

Ihre Aufgabe ist es, die Unterschiede zu finden.

4) Kommunikation mit der Datenbank über PDO:

Bei der Verbindung zu einer MySQL-Datenbank werden vorbereitete Ausdrücke verwendet (mithilfe der Methode „prepare“) und dadurch eine höhere Sicherheit und eine deutlich höhere Leistung erzielt.

config-Datei von der vorherigen Methode! - das gleiche

index.php

// PDO-Stil für die Kommunikation mit MySQL
if ($stmt = $mysqli->prepare("SELECT Name, Voney FROM Dolg ORDER BY Money< ? LIMIT 5")) {

$stmt->bind_param("i", $summa);
$summa = 100000;

//Ausführung starten
$stmt->execute();

// Variablen für vorbereitete Werte deklarieren
$stmt->bind_result($col1, $col2);

Echo „Wem schulde ich etwas in absteigender Reihenfolge:

";

// Abfrageergebnisse abrufen
while ($stmt->fetch()) (
echo $col1 . „mit Schulden“. $col2 . " Rubel.
";
}

// Benutzten Speicher freigeben
$stmt->close();

// Verbindung schließen
$mysqli->close();

Wie Sie sehen, ist es hier viel komplizierter und Sie müssen PDO studieren – das ist ein separates Thema.

In diesem Artikel sprechen wir heute über das Herstellen einer Verbindung zu einer Datenbank und diskutieren, welche Option besser prozedural oder objektorientiert zu verwenden ist. Schauen wir uns zunächst an, auf welchem ​​Niveau wir uns befinden. Wenn dies das Niveau eines völligen Anfängers ist, dann rate ich ausnahmslos, mit dem prozeduralen Stil der Verbindung zur Datenbank zu beginnen. Zuvor habe ich in meinem Blog einen Artikel zu diesem Thema geschrieben. Weitere Informationen zum Verfahrensstil der Verbindung zu einer Datenbank finden Sie im Artikel: „So stellen Sie eine Verbindung zu MySQL mithilfe von PHP her“. Wenn Sie bereits Erfahrung in der Arbeit mit einem prozeduralen Verbindungsstil zu einer Datenbank haben, dann haben Sie wahrscheinlich, genau wie ich, einfach meine Projekte übernommen und ihnen einen objektorientierten Ansatz aufgezwungen.

Auf die eine oder andere Weise werden wir uns nun die Schritte zum Erstellen einer Klasse ansehen, um eine Verbindung zu einer MySQL-Datenbank herzustellen PHP-Sprache. Wir benötigen zwei PHP-Dateien, in einer Datei „stecken“ wir die Klasse zum Herstellen einer Verbindung zur Datenbank und in der zweiten werden wir mit dieser Klasse arbeiten.

Lassen Sie uns zwei Dateien erstellen:

  • index.php;
  • Datenbank.class.php;

Ich denke, wir sind keine kleinen Kinder mehr und wissen, was wir brauchen, um mit PHP-Dateien zu arbeiten. Der installierte Webserver ist Apache, PHP, MySQL DBMS und weiß, wo diese Dateien abgelegt werden sollen – (für diejenigen, die es nicht wissen oder es vergessen haben).

Ich lege die Datei, in der die Klasse gespeichert ist, in eine separate Datei und benenne sie im Format: Klassenname.Klasse.php, und ich weiß, was in dieser Datei gespeichert ist. Wenn es in einem Projekt viele Klassen gibt, kann es passieren, dass Sie den Überblick verlieren. Daher empfehle ich, Dateien mit Klassen im oben beschriebenen Format zu benennen.

Database.class.php-Datei:

Schauen wir uns nun an, was in diesem Schritt erstellt wurde. Mit dem Schlüsselwort „class“, dem Klassennamen „DataBase“ und geschweiften Klammern haben wir den Hauptteil der Klasse erstellt. In der erstellten Klasse haben wir zwei Eigenschaften erstellt: in $mConnect – wo das Ergebnis der Verbindung zur Datenbank gespeichert wird, und in $mSelectDB – wo das Ergebnis der Auswahl einer Datenbank gespeichert wird. Möglicherweise sind Ihnen die Schlüsselwörter in jeder Eigenschaft aufgefallen – öffentlich und statisch. Worüber reden sie? Öffentlich bedeutet, dass die Eigenschaft von außerhalb der Klasse zugänglich ist, und „statisch“ ermöglicht den Zugriff oder Aufruf der Eigenschaft, ohne eine Instanz der Klasse zu erstellen, was bei der Arbeit oft praktisch ist.

Fügen wir die Methode Connect() hinzu, um eine Verbindung zur Datenbank herzustellen:

„.mysql_error().“

"; exit(); return false; ) // Das Ergebnis zurückgeben return self::$mConnect; ) ) ?>

  • $host – Server-IP-Adresse, auf einem lokalen PC ist es localhost;
  • Benutzer – Datenbankbenutzername;
  • $pass – Passwort des Datenbankbenutzers;
  • $name – der Name der Datenbank, mit der wir eine Verbindung herstellen;

Die Funktion mysql_connect() stellt eine Verbindung zur Datenbank her und speichert das Ausführungsergebnis in $mConnect. Als nächstes folgt eine Prüfung mit dem IF-Konstrukt: Wenn die Verbindung nicht erfolgreich war, wird eine Fehlermeldung angezeigt... Andernfalls ignoriert PHP den IF-Block und geht zur Auswahl der Datenbank über. Die Funktion mysql_select_db() wählt den Datenbanknamen aus. Wenn die angeforderte Datenbank nicht in der Datenbank vorhanden ist, informiert das Programm den Benutzer in diesem Fall über einen Fehler. Wenn alles erfolgreich ist, wird die Datenbankverbindung zurückgegeben.

Fügen Sie die Close()-Methode hinzu:

Leider konnten wir keine Verbindung zum MySQL-Server herstellen

"; exit(); return false; ) // Versuchen Sie, eine Datenbank auszuwählen self::$mSelectDB = mysql_select_db($name, self::$mConnect); // Wenn die Datenbank nicht ausgewählt ist, wird eine Fehlermeldung angezeigt. if( !self::$mSelectDB) ( echo "

„.mysql_error().“

"; exit(); return false; ) // Das Ergebnis zurückgeben return self::$mConnect; ) // Die Methode schließt die Verbindung zur Datenbank public static function Close() ( // Gibt das Ergebnis zurück return mysql_close(self: :$mConnect) ; ) ) ?>

Die nächste und letzte Methode in dieser Klasse, Close(), schließt die Verbindung zur Datenbank; die Funktion mysql_close() schließt die Verbindung zum MySQL-Server und gibt das Ergebnis zurück.

Index.php-Datei:

Mit der Funktion define() haben wir Konstanten zum Speichern von Datenbankverbindungsparametern erstellt. Require_once fügt unsere DataBase-Klasse in die Datei index.php ein.

Erinnern wir uns an das Schlüsselwort static, das in der DataBase-Klasse in den Eigenschaften und Methoden dieser Klasse verwendet wurde. Dies gibt uns die Möglichkeit, mit „::“ (zwei Doppelpunkten) auf Klasseneigenschaften und -methoden zuzugreifen. Die Methode DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) benötigt 4 Parameter – Konstanten, die von der Funktion define() erstellt werden und Informationen über die Verbindung zur Datenbank speichern. Wenn die Verbindung erfolgreich ist, gibt uns die Connect()-Methode eine Datenbankverbindung zurück. Als nächstes können wir mit der Datenbank arbeiten und Abfragen ausführen. mysql_query()-Funktion – führt eine Abfrage an die Datenbank aus. Die Funktion mysql_fetch_assoc() verarbeitet eine Reihe von Abfrageergebnissen und gibt ein assoziatives Array zurück. Das Echo-Konstrukt zeigt die MySQL-Serverversion an. Und schließlich schließt die Methode DataBase::Close() die Verbindung zur Datenbank.

Die Frage ist bei Anfängern sehr beliebt und es wäre falsch, ihr keinen eigenen Artikel zu widmen. Wie erstelle ich eine Datenbankverbindung mit PHP? Ich sage es gleich PHP-Tools völlig ausreichend für die vollwertige Arbeit mit Datenbanken und die Interaktion mit MySQL. Versuchen wir nun, eine Verbindung herzustellen!

Was benötigen Sie, um PHP mit MySQL zu verbinden?

1. DBMS installiert und funktionierende Datenbank erstellt. Zum Beispiel in MySQL (Was sind DBMS und MySQL?).
2. Konto Benutzer für MySQL mit entsprechenden Rechten (Was sind Rechte und Privilegien in MySQL?)
3. Dementsprechend ist ein Server mit PHP installiert

Wenn Sie einen dieser Schritte nicht ausführen, können Sie keine Verbindung herstellen.

Algorithmus zur Interaktion zwischen PHP und MySQL

1. Verbindung zur Datenbank herstellen
2. Eine Anfrage senden und das Ergebnis erhalten
3. (Bevorzugt) Schließen der Verbindung

Jetzt verbinden wir uns mit PHP mit der Datenbank:

PHP-Code

$db = mysql_connect("localhost", "Admin", "pass"); // Benutzerdaten
mysql_select_db("baseName",$db); // Wählen Sie aus, mit welcher Datenbank eine Verbindung hergestellt werden soll
?>
Wie Sie sehen, werden für die Verbindung vier Parameter angegeben:

1. Hostname. In vielen Fällen reicht es aus, localhost (auf demselben Hosting) anzugeben.
2. Der Name des Benutzers, den Sie für die Verwendung von MySQL registriert haben.
3. Das Passwort des Benutzers, den Sie für die Verwendung von MySQL registriert haben.
4. Der Name der Datenbank, mit der wir eine Verbindung herstellen möchten. Dementsprechend muss der von uns angegebene Benutzer über Rechte zum Arbeiten in dieser Datenbank verfügen.

Wenn also etwas falsch angegeben wird, passiert nichts Kriminelles, aber höchstwahrscheinlich wird Ihnen ein Fehler angezeigt. Aber seien wir optimistisch, nehmen wir an, Sie haben alles richtig eingegeben.

Eine andere Art der Verbindung:

PHP-Code

$host="localhost"; /*Gastgeber*/
$user="admin"; /*Benutzername*/
$password="12345"; /*Benutzerpasswort*/
$db="baseName"; /*Datenbankname*/

Mysql_connect($host, $user, $password); /*Mit Server verbinden*/
mysql_select_db($db); /*Mit einer Datenbank auf dem Server verbinden*/
?>
Hier erstelle ich visuell Variablen mit Beispieldaten für den Benutzer und den Host und erstelle dann eine Verbindung.

Wie unterbreche (schließe) ich eine Verbindung zu einer Datenbank in PHP?

Es gibt Fälle, in denen die Verbindungsinformationen falsch angegeben sind. In diesem Fall setzt das Skript die Verarbeitung fort PHP-Datei und erzeugt eine bestimmte Anzahl von Fehlern und Warnungen auf der Seite. Für diese Fälle empfehle ich die Verwendung eines Fehlerhandlers beim Herstellen einer Verbindung zur Datenbank. Wenn die Verbindung nicht erfolgreich ist, erhalten Sie eine Warnung, die Ihnen mitteilt, in welchem ​​Stadium sich das Problem befindet:

PHP-Code

$user="admin";
$password="12345";
$db="baseName";

// wenn ein Fehler aufgetreten ist
mysql_connect($host, $user, $password) or die("MySQL-Server ist nicht verfügbar!".mysql_error());
mysql_select_db($db) or die("Keine Verbindung zur Datenbank."mysql_error());
?>
Es ist auch sehr wichtig, dass die Entwicklung des Szenarios gestoppt wird, was Sie vor vielen falschen Daten bewahrt.

Glückwunsch! Jetzt wissen Sie, wie Sie in PHP eine Verbindung zu einer Datenbank herstellen und die Verbindung schließen!

Vielen Dank für Ihre Aufmerksamkeit!

3 Methoden zum Herstellen einer Verbindung zu MySQL mit PHP mit Codebeispielen


Um mit der Verwendung der MySQL-Datenbank zu beginnen, müssen Sie zunächst verstehen, wie Sie von Ihrem benutzerdefinierten PHP-Programm (Skript) aus eine Verbindung zu dieser MySQL-Datenbank herstellen.

In diesem Artikel werden die folgenden drei Methoden beschrieben, zusammen mit entsprechenden PHP-Codebeispielen, die erklären, wie Sie von PHP aus eine Verbindung zu Ihrer Datenbank herstellen.

Für alle folgenden Beispiele stellen wir eine Verbindung zu einer vorhandenen MySQL-Datenbank her. Hinweis: Alles, was hier erklärt wird, funktioniert auch mit MariaDB, genau wie MySQL.

1. Verbindung zu PHP mithilfe der MySQLi-Erweiterung herstellen
*mysqli bedeutet MySQL Improved

Erstellen Sie die folgende mysqli.php-Datei

connect_error) ( die("Fehler: Verbindung konnte nicht hergestellt werden: " . $conn->connect_error); ) echo "Mit der Datenbank verbunden.
"; $result = $conn->query("SELECT id FROM goroda"); echo "Anzahl der Zeilen: $result->num_rows"; $result->close(); $conn->close(); ?> Im obigen Code:

  • mysqli – Diese Funktion initiiert eine neue Verbindung mithilfe der mysqli-Erweiterung. Die Funktion benötigt vier Argumente:
    1. localhost ist der Name des Hosts, auf dem die MySQL-Datenbank läuft
    2. name – MySQL-Benutzername für die Verbindung
    3. pass – Passwort für den MySQL-Benutzer
    4. db – MySQL-Datenbank, zu der eine Verbindung hergestellt werden soll.
  • qvery ist eine MySQL-Abfragefunktion. In diesem Beispiel wählen wir die ID-Spalte aus der Stadtdatenbank aus.
  • Abschließend zeigen wir im Ergebnis die Anzahl der mit der Variable num_rows ausgewählten Zeilen an. Wir schließen auch sowohl das Ergebnis als auch die Verbindungsvariable wie oben gezeigt.
Wenn Sie die obige mysqli.php in Ihrem Browser aufrufen, sehen Sie die folgende Ausgabe, die darauf hinweist, dass PHP eine Verbindung zur MySQL-Datenbank herstellen und die Daten abrufen konnte.

Mit der Datenbank verbunden. Anzahl der Zeilen: 6 2. Verbindung von PHP MySQL PDO Extension
*PDO steht für PHP Data Objects

Der PDO_MYSQL-Treiber implementiert die von PHP bereitgestellte PDO-Schnittstelle, um eine Verbindung von Ihrem PHP-Skript zu einer MySQL-Datenbank herzustellen.

Erstellen Sie die folgende mysql-pdo.php-Datei:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo „Mit der Datenbank verbunden.
"; $sql = "SELECT id FROM goroda"; print "Liste der IDs:
"; foreach ($conn->query($sql) as $row) ( print $row["id"] . "

  • "; ) $conn = null; ) catch(PDOException $err) ( echo "Error: Unable to connect: " . $err->getMessage(); ) ?> Im Obenstehenden:
    1. neues PDO – erstellt ein neues PDO-Objekt, das die folgenden drei Argumente annimmt:
    2. MySQL-Verbindungszeichenfolge: Sie hat das Format „mysql:host=localhost;dbname=db“. Im obigen Beispiel läuft die Datenbank auf localhost und wir stellen eine Verbindung zur Datenbank her.
    3. MySQL-Benutzername für die Verbindung
  • MySQL-Benutzerpasswort
  • $sql-Variable – Erstellen Sie die SQL-Abfrage, die Sie ausführen möchten. In diesem Beispiel wählen wir die ID-Spalte aus der Städtetabelle aus.
  • Abfrage($sql). Hier führen wir die gerade erstellte SQL-Abfrage aus.
  • für jeden. Hier durchlaufen wir das Ergebnis des obigen Abfragebefehls, speichern es in der Variablen $row und geben es dann mit Echo aus.
Um in MySQL PDO eine Verbindung zu schließen, setzen Sie einfach die Variable $conn auf null.

Wenn Sie das obige mysqli.php-Skript in Ihrem Browser aufrufen, werden die folgenden Zeilen angezeigt: Sie bedeuten, dass PHP eine Verbindung zur MySQL-Datenbank herstellen und die Informationen abrufen konnte: Mit der Datenbank verbunden. Listen-ID: 1 2 3 4 5 6

3. Verbindung von PHP mit veralteten MySQL-Funktionen Verwenden Sie diese Methode nur, wenn Sie mehr verwenden alte Version PHP und aus irgendeinem Grund können Sie es nicht aktualisieren neue Version

Diese spezielle Erweiterung ist seit PHP 5.5 veraltet. Aber ab PHP 7.0 funktioniert dies nicht einmal mehr, da es entfernt wurde. Seit PHP 5.5 wird bei Verwendung dieser Funktionen ein E_DEPRECATED-Fehler generiert.

Erstellen Sie eine mysql.php-Datei:

"; $result = mysql_query("SELECT id FROM goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $row, "
\n"; mysql_close($conn); ?> Im Obenstehenden:

  • Die Funktion mysql_connect benötigt drei Argumente:
    1. der Name des Hosts, auf dem die MySQL-Datenbank ausgeführt wird;
    2. MySQL-Benutzername für die Verbindung;
    3. Passwort für MySQL-Benutzer. Hier stellt es mit dem Benutzernamen und seinem Passwort eine Verbindung zur MySQL-Datenbank her, die auf dem lokalen Server läuft.
  • mysql_select_db-Funktion. Wie der Name schon sagt, wählt es die Datenbank aus, mit der Sie eine Verbindung herstellen möchten. Entspricht dem Befehl „use“. In diesem Beispiel stellen wir eine Verbindung zu einer Datenbank her.
  • mysql_query-Funktion – wird zur Angabe Ihrer MySQL-Abfrage verwendet. In diesem Beispiel wählen wir die ID-Spalte aus der Stadtdatenbank aus.
  • mysql_fetch_row. Verwenden Sie diese Funktion, um Zeilen aus der gerade erstellten SQL-Abfrage zu extrahieren.
  • Schließen Sie abschließend die Verbindung mit dem Befehl mysql_close, wie oben gezeigt.
Wenn Sie die obige mysql-legacy.php in Ihrem Browser aufrufen, sehen Sie die folgende Ausgabe, die darauf hinweist, dass PHP eine Verbindung zur MySQL-Datenbank herstellen und die Informationen abrufen konnte:

Mit der Datenbank verbunden. ID 1: 1 So können Sie eine Verbindung zu MySQL herstellen. Ich wiederhole, es ist besser, die ersten beiden Methoden zu verwenden; O

Um das Beste aus Ihrer MySQL-Datenbank herauszuholen, ist es wichtig zu verstehen, wie Sie eine Verbindung von einem benutzerdefinierten PHP-Programm zu einer MySQL-Datenbank herstellen.

Dieses Tutorial beschreibt die folgenden drei Methoden zusammen mit einem entsprechenden PHP-Beispielprogramm, das erklärt, wie man mit PHP eine Verbindung zu einer Datenbank herstellt.

  • Verbindung mit der Mysqli-Erweiterung herstellen (empfohlen)
  • Verbindung über PDO herstellen (empfohlen)
  • Herstellen einer Verbindung mithilfe herkömmlicher älterer mysql_-Funktionen (veraltet)

Dazu müssen Sie das PHP-MySQL-Paket installieren.

Basierend auf der RedHat-Distribution einschließlich , verwenden Sie yum, um PHP-MySQL wie unten gezeigt zu installieren.

Lecker, installiere PHP-MySQL

Abhängig von Ihrem System installieren oder aktualisieren wir die folgenden Abhängigkeiten oben:

  • php-cli
  • php-common
  • php-pdo
  • php-pgsql

Sobald alles installiert ist, wird auf der phpinfo-Seite das MySQL-Modul wie unten gezeigt angezeigt:

Für alle folgenden Beispiele stellen wir eine Verbindung zu einer bereits vorhandenen MySQL-Datenbank her. Wenn Sie neu bei MySQL sind, ist dies ein guter Anfang: .

Hinweis: Alles, was hier beschrieben wird, funktioniert auch mit MariaDB, genau wie mit MySQL.

1. Verbindung in PHP mit der Mysqli-Erweiterung

MySQLi steht für MySQL Improved.

Bitte beachten Sie, dass PHP-MySQLi bei den meisten Distributionen (z. B. CentOS) bereits Teil des PHP-MySQL-Pakets ist. Auf diese Weise müssen Sie nicht nach dem PHP-MySQLi-Paket suchen und es installieren. Sie müssen lediglich das PHP-MySQL-Paket installieren, um eine funktionierende Mysqli-Erweiterung auf Ihrem System zu erhalten.

Erstellen Sie die folgende mysqli.php-Datei in DocumentRoot in Apache:

connect_error) ( die("Fehler: Verbindung konnte nicht hergestellt werden: " . $conn->connect_error); ) echo "Verbindung zur Datenbank wird hergestellt.
"; $result = $conn->query("SELECT name FROM Employee"); echo "Anzahl der Zeilen: $result->num_rows"; $result->close(); $conn->close(); ?>

Oben:

  • MySQLi – Diese Funktion initiiert eine neue Verbindung mithilfe der Mysqli-Erweiterung. Diese Funktion benötigt vier Argumente:
    1. Hostname, auf dem die MySQL-Datenbank ausgeführt wird
    2. Benutzername für MySQL-Verbindung
    3. MySQL-Benutzername für die Verbindung
    4. MySQL-Datenbank, mit der eine Verbindung hergestellt werden soll.
  • Abfragefunktion – Verwenden Sie diese, um Ihre MySQL-Abfrage anzugeben. In diesem Beispiel wählen wir die Namensspalte aus der Mitarbeiterdatenbank aus.
  • Abschließend zeigen wir die Anzahl der ausgewählten Zeilen mithilfe der Variablen num_rows an. Wir schließen auch die Verbindung wie oben gezeigt.

Stellen Sie eine Verbindung zur Datenbank her. Anzahl der Zeilen: 4

Hinweis: Wenn Sie versuchen, eine Verbindung zu einer Remote-MySQL-Datenbank herzustellen, können Sie dies tun, um den Fehler „Hostverbindung verweigert“ zu vermeiden: So erlauben Sie einem MySQL-Client, eine Verbindung zu einem Remote-MySQL-Server herzustellen.

2. Verbindung über PHP mit MySQL mit PDO-Erweiterung

PDO steht für PHP Data Objects.

PDO_MYSQL implementiert die von PHP bereitgestellte PDO-Schnittstelle zum Verbinden eines Programms mit einer MySQL-Datenbank.

Bei den meisten Linux-Distributionen (wie CentOS und RedHat) ist das PHP-PDO-Paket bereits im PHP-MySQL-Paket enthalten. Auf diese Weise müssen Sie nicht nach dem PHP-PDO-Paket suchen und es installieren. Sie müssen lediglich das PHP-MySQL-Paket installieren, um eine funktionierende PDO_MYSQL-PHP-Erweiterung auf Ihrem System zu erhalten.

Erstellen Sie die folgende MySQL-pdo.php-Datei in Ihrem Apache DocumentRoot:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo „Verbindung zur Datenbank wird hergestellt.
"; foreach ($conn->query($sql) as $row) ( print $row["name"] . "
"; ) $conn = null; ) catch(PDOException $err) ( echo "Fehler: Verbindung konnte nicht hergestellt werden: " . $err->getMessage(); ) ?>

Oben:

  • neues PDO – Erstellt ein neues PDO-Objekt, das die folgenden drei Argumente annimmt:
    1. MySQL-Verbindungszeichenfolge: wird im Format „mysql:host=$hostname;dbname=$dbname“ vorliegen. Im obigen Beispiel läuft die Datenbank auf localhost und wir stellen eine Verbindung zur andreyex-Datenbank her.
    2. Benutzername für die Verbindung zu MySQL.
    3. Passwort für MySQL-Benutzer.
  • $sql-Variable – Erstellung SQL-Abfrage die Sie ausführen möchten. In diesem Beispiel wählen wir die Namensspalte aus der Mitarbeitertabelle aus.
  • query($sql) – hier führen wir die gerade erstellte SQL-Abfrage aus.
  • foreach – hier führen wir die oben genannten Befehle durch und speichern sie in Variable Zeichenfolge$ und dann zeigen wir sie mit dem Druckbefehl an.
  • Um in MySQL PDO eine Verbindung zu schließen, setzen Sie einfach die Variable $conn auf Null zurück.

Wenn Sie mysqli.php über Ihren Browser aufrufen, sehen Sie die folgende Ausgabe, die darauf hinweist, dass PHP eine Verbindung zur MySQL-Datenbank herstellen und die Daten abrufen konnte.

Stellen Sie eine Verbindung zur Datenbank her. Name des Mitarbeiters: Siteslan Maria Oleg

3. Verbindung in PHP über mysql_-Funktionen (veraltet)

Verwenden Sie diese Methode nur, wenn Sie eine ältere PHP-Version verwenden und aus irgendeinem Grund kein Upgrade auf die neue Version durchführen können.

Dies ist eine ältere PHP 5.5-Erweiterung. Ab der PHP-Version 7.0 funktioniert dies jedoch nicht mehr, da es entfernt wurde.

Wenn Sie diese Funktionen ab PHP 5.5 verwenden, wird ein E_DEPRECATED-Fehler generiert.

Erstellen Sie die folgende MySQL-legacy.php-Datei unter Apache DocumentRoot:

"; $result = mysql_query("NAME VON Mitarbeiter AUSWÄHLEN"); $row = mysql_fetch_row($result); echo "Mitarbeiter 1: ", $row, "
\n"; mysql_close($conn); ?>

Oben:

  • Die Funktion mysql_connect benötigt drei Argumente: 1) den Hostnamen, auf dem die MySQL-Datenbank ausgeführt wird, 2) den Benutzernamen für die Verbindung zu MySQL, 3) das Passwort für den MySQL-Benutzer. Hier verbinden wir uns mit dem Root-Benutzernamen und seinem Passwort mit der MySQL-Datenbank, die auf dem lokalen Server läuft.
  • mysql_select_db-Funktion – Wie der Name schon sagt, wählt sie die Datenbank aus, mit der Sie eine Verbindung herstellen möchten. Dies entspricht dem Befehl „use“. In diesem Beispiel stellen wir eine Verbindung zur andreyex-Datenbank her.
  • mysql_query-Funktion – Verwenden Sie diese, um Ihre MySQL-Abfrage anzugeben. In diesem Beispiel wählen wir die Namensspalte aus der Mitarbeiterdatenbank aus.
  • mysql_fetch_row – Verwenden Sie diese Funktion, um Zeilen aus der gerade erstellten SQL-Abfrage abzurufen.
  • Schließen Sie abschließend die Verbindung mit dem Befehl mysql_close, wie oben gezeigt.

Wenn Sie MySQL-legacy.php in Ihrem Browser aufrufen, sehen Sie die folgende Ausgabe, die darauf hinweist, dass PHP eine Verbindung zur MySQL-Datenbank herstellen und die Daten abrufen konnte.

Stellen Sie eine Verbindung zur Datenbank her. Mitarbeiter 1: AndreyEx