GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Wie man mit PHP eine Verbindung zu MySQL herstellt

Einführung

Zugriff auf und Hinzufügen von Inhalten zu einem MySQL Datenbank müssen Sie zunächst eine Verbindung zwischen der Datenbank und einem PHP herstellen Skript.

In diesem Tutorial erfahren Sie, wie Sie die MySQLi-Erweiterung und PHP-Datenobjekte verwenden, um eine Verbindung zu MySQL herzustellen . Herkömmliche veraltete mysql_-Funktionen sind veraltet und werden in diesem Handbuch nicht behandelt.

Voraussetzungen

  • Spezielle CREATE-Berechtigungen
  • Eine MySQL-Datenbank
  • Eine MySQLi- oder PDO-Erweiterung

2 Möglichkeiten, sich mit PHP mit einer MySQL-Datenbank zu verbinden

Es gibt zwei gängige Möglichkeiten, sich mit PHP mit einer MySQL-Datenbank zu verbinden:

  1. Mit der MySQLi-Erweiterung von PHP
  2. Mit PHP-Datenobjekten (PDO)

Der Leitfaden enthält auch Erläuterungen zu den Anmeldeinformationen, die in den PHP-Skripten verwendet werden, und zu potenziellen Fehlern, auf die Sie bei der Verwendung von MySQLi und PDO stoßen können.

Option 1:Verbindung zu MySQL mit MySQL Improved-Erweiterung

MySQLi ist eine Erweiterung, die nur MySQL-Datenbanken unterstützt. Es ermöglicht den Zugriff auf neue Funktionalitäten, die in MySQL-Systemen (Version 4.1. und höher) zu finden sind, und bietet sowohl eine objektorientierte als auch eine prozedurale Schnittstelle. Es unterstützt serverseitig vorbereitete Anweisungen, aber keine clientseitig vorbereiteten Anweisungen.

Die MySQLi-Erweiterung ist in PHP-Version 5 und höher enthalten.

Das PHP-Skript zum Herstellen einer Verbindung zu einer MySQL-Datenbank unter Verwendung des prozeduralen MySQLi-Ansatzes lautet wie folgt:

<?php
$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

echo “Connected successfully”;

mysqli_close($conn);

?>

Anmeldeinformationen erklärt

Der erste Teil des Skripts besteht aus vier Variablen (Servername, Datenbank, Benutzername und Passwort) und ihren jeweiligen Werten. Diese Werte sollten Ihren Verbindungsdaten entsprechen.

Als nächstes kommt die Haupt-PHP-Funktion mysqli_connect() . Es baut eine Verbindung mit der angegebenen Datenbank auf.

Es folgt eine „if-Anweisung .“ Es ist der Teil des Codes, der anzeigt, ob die Verbindung hergestellt wurde. Wenn die Verbindung fehlschlägt, wird die Meldung Verbindung fehlgeschlagen angezeigt . Die sterben Funktion druckt die Nachricht und wird dann beendet aus dem Skript.

Wenn die Verbindung erfolgreich ist, wird „Erfolgreich verbunden angezeigt .“

Wenn das Skript endet, wird auch die Verbindung mit der Datenbank geschlossen. Wenn Sie den Code manuell beenden möchten, verwenden Sie mysqli_close Funktion.

Option 2:Mit PDO mit MySQL verbinden

PHP-Datenobjekte (PDO) ist eine Erweiterung, die als Schnittstelle zur Anbindung an Datenbanken dient. Im Gegensatz zu MySQLi kann es beliebige Datenbankfunktionen ausführen und ist nicht auf MySQL beschränkt. Es ermöglicht Flexibilität zwischen Datenbanken und ist allgemeiner als MySQL. PDO unterstützt sowohl server- als auch clientseitig vorbereitete Anweisungen.

Der PHP-Code für die Verbindung zu einer MySQL-Datenbank über die PDO-Erweiterung lautet:

<?php

$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";
$charset = "utf8mb4";

try {

$dsn = "mysql:host=$servername;dbname=$database;charset=$charset";
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Berechtigungssyntax

Zuerst haben wir fünf Variablen (Servername, Datenbank, Benutzername, Passwort und Zeichensatz) und ihre Werte. Diese Werte sollten Ihren Verbindungsdaten entsprechen.

Der Servername wird localhost sein . Wenn Sie mit einem Online-Server verbunden sind, geben Sie den Servernamen dieses Servers ein.

Die Variable charset teilt der Datenbank mit, in welcher Kodierung sie Daten empfängt und sendet. Der empfohlene Standard ist utf8mb4 .

Blocks versuchen und fangen

Der große Vorteil von PDO ist, dass es eine Ausnahme gibt Klasse, um sich um potenzielle Probleme bei Datenbankabfragen zu kümmern. Es löst diese Probleme, indem es try and catch enthält Blöcke.

Wenn beim Versuch, eine Verbindung herzustellen, ein Problem auftritt, wird es nicht mehr ausgeführt und versucht, abzufangen und das Problem lösen. Fang Blöcke können so eingestellt werden, dass sie Fehlermeldungen anzeigen oder führen Sie einen alternativen Code aus .

Der erste Parameter in try and catch Block ist DSN, was für Datenbank-Quellname steht . Es ist von entscheidender Bedeutung, da es den Typ und Namen der Datenbank zusammen mit allen anderen zusätzlichen Informationen definiert.

In diesem Beispiel verwenden wir eine MySQL-Datenbank. PDO unterstützt jedoch verschiedene Arten von Datenbanken. Wenn Sie eine andere Datenbank haben, ersetzen Sie diesen Teil der Syntax (mysql ) mit der von Ihnen verwendeten Datenbank.

Als nächstes kommt die PDO Variable. Diese Variable stellt eine Verbindung zur Datenbank her. Es hat drei Parameter:

  1. Der Datenquellenname (dsn)
  2. Der Benutzername für Ihre Datenbank
  3. Das Passwort für Ihre Datenbank

Es folgt die setAttribute-Methode Hinzufügen von zwei Parametern zum PDO:

  1. PDO::ATTR_ERRMODE
  2. PDO::ERRMODE_EXCEPTION

Diese Methode weist das PDO an, eine Ausnahme auszuführen falls eine Abfrage fehlschlägt.

Fügen Sie das Echo „Verbindung OK hinzu .“ um zu bestätigen, dass eine Verbindung hergestellt wurde.

Zurück die PDO-Variable zum Verbinden mit der Datenbank.

Definieren Sie nach der Rückgabe der PDO-Variablen die PDOException im Fang blockieren, indem Sie ihn anweisen, eine Meldung anzuzeigen, wenn die Verbindung fehlschlägt.

Mögliche Fehler mit MySQLi und PDO

Falsches Passwort

Das Passwort im PHP-Code muss mit dem in der Datenbank übereinstimmen. Wenn die beiden nicht übereinstimmen, kann keine Verbindung mit der Datenbank hergestellt werden. Sie erhalten eine Fehlermeldung, die besagt, dass die Verbindung fehlgeschlagen ist .

Mögliche Lösungen :

  1. Überprüfen Sie die Datenbankdetails, um sicherzustellen, dass das Passwort korrekt ist.
  2. Stellen Sie sicher, dass der Datenbank ein Benutzer zugewiesen ist.

Verbindung zum MySQL-Server nicht möglich

PHP kann möglicherweise keine Verbindung zum MySQL-Server herstellen, wenn der Servername nicht erkannt wird. Stellen Sie sicher, dass der Servername auf localhost gesetzt ist .

Bei anderen Fehlern konsultieren Sie unbedingt das error_log Datei, um bei der Lösung von Problemen zu helfen. Die Datei befindet sich im selben Ordner, in dem das Skript ausgeführt wird.


Cent OS
  1. So installieren Sie den MySQL 8-Datenbankserver unter CentOS 8

  2. So erstellen Sie eine Datenbank in MySQL über die Befehlszeile

  3. So sichern und wiederherstellen Sie die MySQL-Datenbank über die Befehlszeile

  4. So installieren Sie den MySQL-Datenbankserver unter CentOS

  5. So installieren Sie die MySQL-Datenbank mit Yum groupinstall unter CentOS

Wie erstelle ich eine MySQL-Datenbanksicherung mit cPanel cron?

Wie kann ich eine MySQL-Datenbank mit cPanel sichern?

Wie man eine Datenbank in MySQL erstellt

So erstellen Sie eine Datenbank mit dem MySQL-Datenbankassistenten

Wie man mit PHP eine Verbindung zu MySQL herstellt

3 Methoden zum Herstellen einer Verbindung zu MySQL von PHP mithilfe von Beispielcode