GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man mit PHP eine Verbindung zu MySQL herstellt

Das kostenlose und quelloffene MySQL ist eines der beliebtesten Verwaltungssysteme für relationale Datenbanken. Es wird verwendet, um den Inhalt von Websites und Webanwendungen zu speichern. Wenn Sie eine PHP-basierte Webanwendung mit MySQL integrieren möchten, müssen Sie testen, ob PHP eine Verbindung zu MySQL herstellen und Datenbankabfragen ausführen kann. Um Daten von MySQL abzurufen, müssen Sie eine Verbindung zwischen der Datenbank und einem PHP-Skript herstellen. Es gibt zwei Möglichkeiten, eine Verbindung zwischen der Datenbank und einem PHP-Skript herzustellen.

In diesem Beitrag erklären wir:

  • So stellen Sie eine Verbindung zu MySQL mithilfe der PHP-MySQLi-Erweiterung her
  • Wie man mit PHP-Datenobjekten (PDO) eine Verbindung zu MySQL herstellt

Voraussetzungen

  • Ein Server, auf dem Linux auf der Atlantic.Net Cloud Platform ausgeführt wird
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie ein Ubuntu- oder Debian-basiertes Linux-Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

LAMP-Stack installieren

Bevor Sie beginnen, muss ein LAMP-Stack auf Ihrem Server installiert werden. Wenn nicht installiert, können Sie ihn mit dem folgenden Befehl installieren:

apt-get install apache2 mysql-server php libapache2-mod-php php-mysqli php-pdo -y

Sobald der LAMP-Stack installiert ist, starten und aktivieren Sie den Apache- und MySQL-Dienst:

systemctl start apache2 mysql
systemctl enable apache2 mysql

MySQL-Datenbank konfigurieren

Als nächstes müssen Sie eine Testdatenbank erstellen, eine Tabelle mit einigen Daten, deren Inhalt mit einem PHP-Skript abgefragt werden kann.

Verbinden Sie sich zunächst mit dem folgenden Befehl mit der MySQL-Shell:

mysql

Sobald Sie verbunden sind, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

CREATE DATABASE testdb;
CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

Als nächstes erteilen Sie der Datenbank alle Berechtigungen mit dem folgenden Befehl:

GRANT ALL ON testdb.* TO 'testuser'@'%';

Als nächstes wechseln Sie die Datenbank zu testdb und erstellen eine Tabelle namens people:

USE testdb;
CREATE TABLE people (
	item_id INT AUTO_INCREMENT,
	content VARCHAR(255),
	PRIMARY KEY(item_id)
);

Fügen Sie als Nächstes einige Daten in die Tabelle ein:

INSERT INTO people (content) VALUES ("Hitesh Jethva");
INSERT INTO people (content) VALUES ("Jayesh Jethva");
INSERT INTO people (content) VALUES ("Vyom Jethva");
INSERT INTO people (content) VALUES ("Ninav Jethva");

Als nächstes überprüfen Sie alle eingefügten Daten mit dem folgenden Befehl:

SELECT * FROM people;

Sie erhalten die folgende Ausgabe:

+---------+---------------+
| item_id | content       |
+---------+---------------+
|       1 | Hitesh Jethva |
|       2 | Jayesh Jethva |
|       3 | Vyom Jethva   |
|       4 | Ninav Jethva  |
+---------+---------------+

Löschen Sie als Nächstes die Berechtigungen und verlassen Sie MySQL mit dem folgenden Befehl:

FLUSH PRIVILEGES;
EXIT;

Verbinden Sie sich mit MySQL über PHP MySQLi

MySQLi ist eine MySQL-Erweiterung, die MySQL-Datenbanken unterstützt und es Benutzern ermöglicht, sich mit MySQL zu verbinden und auf dessen Inhalte zuzugreifen.

Erstellen Sie zunächst ein PHP-Skript im Apache-Webstammverzeichnis, um mithilfe von MySQLi eine Verbindung zu einer MySQL-Datenbank herzustellen:

nano /var/www/html/php-mysqli-connection.php

Fügen Sie den folgenden Code hinzu:

<?php
$servername = "localhost";
$database = "testdb";
$username = "testuser";
$password = "password";
$table = "people";

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

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

echo "Connected to MySQL Using Mysqli Successfully";
  echo "<h2>List Table Content</h2><ol>"; 
  foreach($conn->query("SELECT content FROM $table") as $row) {
    echo "<li>" . $row['content'] . "</li>";
  }
  echo "</ol>";
mysqli_close($conn);

?>

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/php-mysqli-connection.php auf das PHP-Skript zu . Wenn PHP mit dem MySQL-Server verbunden ist, erhalten Sie den Tabelleninhalt auf folgendem Bildschirm:

Mit PHP PDO mit MySQL verbinden

PDO, auch „PHP Data Objects“ genannt, ist eine PHP-Erweiterung, die für die Verbindung zu MySQL-Datenbanken verwendet wird.

Erstellen Sie zunächst ein PHP-Skript im Apache-Webstammverzeichnis, um mit PDO:

eine Verbindung zu einer MySQL-Datenbank herzustellen
nano /var/www/html/php-pdo-connection.php

Fügen Sie den folgenden Code hinzu:

<?php

$servername = "localhost";
$database = "testdb";
$username = "testuser";
$password = "password";
$table = "people";
$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 "Connected to MySQL Using PDO Successfully";
  echo "<h2>List Table Content</h2><ol>"; 
  foreach($pdo->query("SELECT content FROM $table") as $row) {
    echo "<li>" . $row['content'] . "</li>";
  }
  echo "</ol>";
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

?>

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/php-pdo-connection.php auf das PHP-Skript zu . Wenn PHP mit dem MySQL-Server verbunden ist, erhalten Sie den Tabelleninhalt auf folgendem Bildschirm:

Schlussfolgerung

In diesem Beitrag haben wir zwei Möglichkeiten erklärt, sich mit PHP mit einer MySQL-Datenbank zu verbinden. Sowohl PDO als auch MySQLi sind sehr nützliche PHP-Erweiterungen. Die MySQLi-Erweiterung wird jedoch nur für MySQL-Datenbanken verwendet, während die PDO-Erweiterung mit 12 verschiedenen Datenbanken funktioniert. Probieren Sie es auf VPS-Hosting von Atlantic.Net aus!


Linux
  1. Ssh – Wie verbinde ich mich mit einem PC über einen anderen PC mit SSH?

  2. So stellen Sie eine Remoteverbindung zu MySQL her

  3. So installieren Sie TicketsCAD auf CentOS

  4. So installieren Sie LAMP Apache, MySQL, PHP unter Debian 11

  5. Kann keine Verbindung zu MySQL mit „localhost“ herstellen, aber mit „127.0.0.1“ ist es in Ordnung?

Wie verbinde ich mich remote mit MySQL in cPanel?

Wie kann ich eine MySQL-Datenbank mit cPanel sichern?

So installieren Sie LAMP auf einem Ubuntu 15.04-Server

So stellen Sie eine PHP-Anwendung mit Nginx und MySQL mit Docker und Docker Compose bereit

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

So installieren Sie Magento 2.4.5 auf Ubuntu 22.04