Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So verbinden Sie eine MySQL-Datenbank mit einer PHP-Website

MySQL ist ein sehr beliebtes Datenbankverwaltungssystem, das Projekte jeder Größe unterstützen kann. Seine Fähigkeit, riesige Datenmengen zu verarbeiten, ohne ins Schwitzen zu geraten, ist eines der größten Verkaufsargumente. Verbinden Sie MySQL mit PHP-Code, Sie können eine von drei Methoden verwenden.

Es gibt drei Arten von Methoden in PHP, um eine MySQL-Datenbank über das Backend zu verbinden:

  • MySQL
  • MySQLi
  • gU

mysql() ist jetzt aufgrund von Sicherheitsproblemen wie SQL-Injection usw. obsolet, aber die anderen beiden werden aktiv verwendet.

MySQLi

MySQLi ist eine API, die als Verbindungsfunktion verwendet wird, um das Backend der PHP-App mit der MySQL-Datenbank zu verbinden. Es funktioniert genau wie die vorherige Version, ist aber sicherer und schneller und bietet einen besseren Satz an Funktionen und Erweiterungen. MySQLi wurde mit PHP 5.0.0 eingeführt und die Treiber wurden in 5.3.0 installiert. Die API wurde entwickelt, um MySQL von Version 4.1.13 bis zu neueren zu unterstützen.

gU

Die Erweiterung PHP Data Objects (PDO) ist eine Datenbankabstraktionsschicht. Es ist wie eine Schnittstelle für das Backend, um mit der MySQL-Datenbank zu interagieren und Änderungen vorzunehmen, ohne den PHP-Code zu ändern. Es gibt Ihnen auch die Freiheit, mit mehreren Datenbanken zu arbeiten. Der Hauptvorteil der Verwendung von PDO besteht darin, dass Ihr Code einfach und portabel bleibt.

In diesem Artikel werde ich besprechen, wie Sie eine MySQL-Datenbank auf verschiedenen Servern verbinden, und ich werde Ihnen auch einen Überblick über die Verbindung von Datenbanken mit PDO geben.

  1. MySQL mit Localhost Server verbinden
  2. MySQL mit Cloudways Server verbinden
  3. MySQL mit PDO verbinden
  4. MySQL mit Remote MySQL verbinden

Jetzt MYSQL-Spickzettel herunterladen

Wir senden einen Download-Link an Ihren Posteingang.

Danke

Ihr E-Book ist auf dem Weg in Ihren Posteingang.


MySQL-Datenbank auf Localhost erstellen

Bevor Sie mit dem Aufbau einer PHP-Verbindung zur MySQL-Datenbank beginnen, müssen Sie wissen, was PHPMyAdmin ist. Es ist ein Bedienfeld, von dem aus Sie die von Ihnen erstellte Datenbank verwalten können. Öffnen Sie Ihren Browser und gehen Sie zu localhost/PHPMyAdmin oder klicken Sie in der XAMPP-Benutzeroberfläche auf „Admin“.

Als Sie XAMPP zum ersten Mal installiert haben, hat es nur den Benutzernamen für den Zugriff erstellt, Sie müssen ihm jetzt selbst ein Passwort hinzufügen. Dazu müssen Sie zum Benutzerkonto gehen, wo der Benutzer derselbe ist wie der in diesem Bild gezeigte:

Klicken Sie nun auf Berechtigungen bearbeiten und gehen Sie zu Admin-Passwort ändern, geben Sie dort Ihr Passwort ein und speichern Sie es. Merken Sie sich dieses Passwort, da es zur Verbindung mit Ihrer Datenbank verwendet wird.

Hinweis:Es ist nicht erforderlich, das Kennwort zu ändern, um auf Datenbanken auf dem lokalen Host zuzugreifen. Es ist eine gute Praxis und deshalb haben wir ein Passwort verwendet.

Datenbank erstellen

Kehren Sie nun zur Homepage von PHPMyAdmin zurück. Klicken Sie auf Neu Schaltfläche, um eine neue Datenbank zu erstellen.

Benennen Sie im neuen Fenster Ihre Datenbank nach Bedarf, ich nenne sie „Übung“. “. Wählen Sie nun Collation als utf8_general_ci aus, da wir es zu Lernzwecken verwenden und alle unsere Abfragen und Daten verarbeiten, die in dieser Tutorial-Reihe behandelt werden. Klicken Sie nun auf Erstellen und Ihre Datenbank wird erstellt.

Die neu erstellte Datenbank ist jetzt leer, da keine Tabellen darin sind. Ich werde das in der kommenden Serie behandeln, in der wir lernen, wie man Tabellen erstellt und Daten darin einfügt. In diesem Tutorial werden wir diese Datenbank mit PHP mit localhost verbinden

Erstellen Sie einen Ordner in htdocs

Suchen Sie nun den Ordner, in dem Sie XAMPP installiert haben, und öffnen Sie den Ordner htdocs (normalerweise c:/xampp). Erstellen Sie einen neuen Ordner in c:/xampp/htdocs/ und nennen Sie ihn „Übung“. Wir werden Webdateien in diesem Ordner ablegen. Warum haben wir einen Ordner in htdocs erstellt? XAMPP verwendet Ordner in htdocs, um Ihre PHP-Sites auszuführen und auszuführen.

Hinweis:Wenn Sie WAMP verwenden, fügen Sie Ihren Übungsordner im Ordner c:/wamp/www hinzu.

Datenbankverbindungsdatei in PHP erstellen

Erstellen Sie eine neue PHP-Datei und nennen Sie sie db_connection.php und speichern Sie es. Warum erstelle ich eine separate Datenbankverbindungsdatei? Denn wenn Sie mehrere Dateien erstellt haben, in die Sie Daten einfügen oder Daten aus den Datenbanken auswählen möchten, müssen Sie nicht jedes Mal den Code für die Datenbankverbindung schreiben.

<?php

function OpenCon()
 {
 $dbhost = "localhost";
 $dbuser = "root";
 $dbpass = "1234";
 $db = "example";


 $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);

 
 return $conn;
 }
 
function CloseCon($conn)
 {
 $conn -> close();
 }
   
?>

Hier ist die Erklärung der Variablen, die wir in unserer db_connection-Datei verwendet haben:

  1. $dbhost wird der Host sein, auf dem Ihr Server läuft, normalerweise ist es localhost.
  2. $dbuser ist der Benutzername, d.h. root und $dbpass ist das Passwort, das Sie für den Zugriff auf PHPMyAdmin verwendet haben.
  3. $dbname ist der Name Ihrer Datenbank, die wir in diesem Tutorial erstellt haben.

Sie müssen es nur mit der benutzerdefinierten PHP-Funktion include einbinden (fügen Sie ‘connection.php’ ein) oben in Ihrem Code und rufen Sie seine Funktion auf und verwenden Sie sie. Es hilft auch, wenn Sie Ihren Projektspeicherort von einem PC auf einen anderen verschieben und die Werte in der einzelnen Datei ändern müssen und alle Änderungen automatisch auf alle anderen Dateien angewendet werden.

Erstellen Sie eine neue PHP-Datei, um Ihre Datenbankverbindung zu überprüfen

Erstellen Sie eine neue PHP-Datei, um eine Verbindung zu Ihrer Datenbank herzustellen. Nennen Sie es index.php und fügen Sie diesen Code in diese Datei ein.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Führe es aus!

Öffnen Sie nun Ihren Browser und gehen Sie zu localhost/practice/index.php und Sie sollten diesen Bildschirm sehen:

Bestätigungsnachricht

Herzliche Glückwünsche! Sie haben Ihre Datenbank erfolgreich mit Ihrem Localhost verbunden! Wenn Sie diesen Bildschirm nicht sehen können, überprüfen Sie, ob Sie in Ihrer Datei db_connection.php alles richtig gemacht haben.

Erstellen Sie eine MySQL-Datenbank auf dem Cloudways-Server

Für die Zwecke dieses Tutorials gehe ich davon aus, dass Sie eine PHP-Anwendung auf einem Webserver installiert haben. Mein Setup ist:

  • PHP 7.3
  • MySQL

Ich habe mich entschieden, meine PHP-Anwendung auf von Cloudways verwalteten Servern zu hosten, weil ich einen hochoptimierten Hosting-Stack und keine Probleme mit der Serververwaltung erhalte. Sie können Cloudways kostenlos ausprobieren, indem Sie sich für ein Konto anmelden und dann diesem einfachen GIF folgen, um den Server und die PHP-Anwendung einzurichten. Sehen Sie sich die Hosting-Pläne von Cloudways für AWS, Google Compute Engine, Vultr, Linode und Digital Ocean an, um das Richtige für Sie zu finden.

Nachdem Sie eine PHP-Anwendung auf Cloudways erfolgreich gestartet haben, gehen Sie auf die Registerkarte Anwendung und überprüfen Sie die Details der Datenbank und klicken Sie auch auf die Schaltfläche zum Starten des Datenbankmanagers .

Mit MySQL-Datenbank verbinden

Um eine Verbindung zur Datenbank herzustellen, verwenden Sie mysql_connect Funktion. Diese Funktion gibt einen Zeiger (auch bekannt als Datenbank-Handle) auf die Datenbankverbindung zurück. Dieses Handle wird später im Code verwendet. Sobald Sie das Handle haben, denken Sie daran, Ihre Datenbankanmeldeinformationen hinzuzufügen.

  • Erstellen Sie eine neue PHP-Datei und nennen Sie sie db_connection.php und speichern Sie es.

Warum erstelle ich eine separate Datenbankverbindungsdatei? Denn wenn Sie mehrere Dateien erstellt haben, in die Sie Daten einfügen oder Daten aus den Datenbanken auswählen möchten, müssen Sie nicht jedes Mal den Code für die Datenbankverbindung schreiben. Sie müssen es nur einbinden, indem Sie die benutzerdefinierte PHP-Funktion include (include ‚connection.php‘) oben in Ihrem Code verwenden und ihre Funktion aufrufen und verwenden.

An dieser Stelle haben Sie die Möglichkeit, entweder die prozedurale MySQLi-Verbindungsabfrage oder die PHP-PDO-basierte Datenbankverbindung zu verwenden:

Prozedurale MySQLi-Abfrage

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



// Create connection

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



// Check connection

if (!$conn) {

   die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

MySQL-Datenbank mit PHP über PDO verbinden

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



try {

   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db);

   // set the PDO error mode to exception

   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

   echo "Connected successfully";

   }

catch(PDOException $e)

   {

   echo "Connection failed: " . $e->getMessage();

   }

?>

Verbindung prüfen

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

Für PDO die Verbindung schließen so

$conn = null;

Remote-MySQL

Für eine Remote-PHP-MySQL-Verbindung Melden Sie sich mit Ihren Anmeldeinformationen bei der Cloudways-Plattform an. Klicken Sie auf „Server“ in der oberen Menüleiste. Klicken Sie dann in der Liste auf Ihren Zielserver.

  • Als nächstes gehen Sie zur Menüoption Sicherheit im linken Menü und klicken dann auf die Registerkarte MySQL.
  • Fügen Sie die IP-Adresse zum Textbereich „IP zur Whitelist hinzufügen“ hinzu und klicken Sie auf die Schaltfläche „Hinzufügen“.
  • Wenn Sie mehrere IP-Adressen haben, wiederholen Sie den Vorgang.
  • Wenn Sie fertig sind, klicken Sie auf die Schaltfläche „Änderungen speichern“, um die Änderungen abzuschließen

Setzen Sie nach erfolgreichem IP-Whitelisting die IP-Adresse in Verbindung und führen Sie die Abfrage aus.

Top MySQL-Verwaltungstools

MySQL-Workbench

MySQL Workbench ist ein visuelles Tool für Datenbankdesigner, Entwickler und DBAs. MySQL Workbench bietet Informationsmodellierung, SQL-Fortschritt und umfassende Organisationsgeräte für Serveranordnung, Client-Organisation, Verstärkung und vieles mehr. Auf MySQL Workbench kann unter Windows, Linux und Mac OS X zugegriffen werden.

MySQL Workbench ist ein sehr beliebter MySQL-Datenbankmanager für Entwickler. Es bietet praktische Verwaltungstools wie Serverkonfiguration, Benutzerverwaltung und viele andere. Es ist für MAC OS-, Linux- und Windows-Betriebssysteme verfügbar.

Wir raten allen angehenden Entwicklern, die Datenbankverwaltung lernen möchten, diese zu ihrem Vorteil zu nutzen. Die Verwaltungsfunktionen helfen ihnen dabei, die Datenbankverwaltung vollständig zu beherrschen.

Vorteile

  1. Es spart SQL-Anweisungen
  2. Bietet Offline-Zugriff auf entfernte Datenbanken
  3. Speichert mehrere Verbindungen an einem Ort
  4. Visuelles Schema und Abfragegenerator verfügbar

Nachteile

  1. Es ist komplexer als PHPMyAdmin.
  2. Benutzer melden häufig Softwareabstürze.

Navicat ist eine Serie zur grafischen Datenbankverwaltung und Softwareentwicklung. Es könnte sich um eine einzelne Anwendung handeln, die es Ihnen ermöglicht, sich gleichzeitig mit einer PHP-MySQL-Verbindung und MariaDB-Datenbanken zu verbinden. Konsistent mit Cloud-Datenbanken wie Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud und Microsoft Azure.

Navicat for MySQL bietet alle fortschrittlichen Tools, die ein Entwickler benötigt, um seine Datenbankoperationen vollständig zu verwalten. Seine Kompatibilität mit Cloud-Datenbanken macht es praktisch bei der Verwaltung einer Cloud-basierten Anwendung. Einige der Hauptmerkmale sind:

Vorteile:

  1. Intuitive, benutzerfreundliche Benutzeroberfläche.
  2. Bietet eine einfache Verbindung zur MySQL-Datenbank über ein SSH-Terminal.
  3. Datenbankjobs planen – sichern, wiederherstellen, Berichte erstellen und mehr.
  4. Importieren und exportieren Sie Daten aus ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. Visuelle Schema- und Abfrageersteller verfügbar.
  6. Kompatibel mit Windows-, Linux- und MAC-Betriebssystemen.
  7. Team-Collaboration-Funktion verfügbar

Nachteile:

  1. Die professionelle Version ist teuer
  2. Die Ausführung unter Linux erfordert Wine, was die IDE verlangsamt.
  3. Zeitraubendes Prozessmanagement

MySQL-Yog

Dieses MySQL-Verwaltungstool hat drei verfügbare Pakete, nämlich Professional, Enterprise und Pro. Sie können nach dem Ausprobieren eine davon auswählen.

Die MySQL-Administratoren können problemlos mit dieser Plattform arbeiten und ihre Datenbankaufgaben effizient erledigen. Es ist nur für Windows-Betriebssysteme verfügbar.

VORTEILE

  1. Smooth Query Designer Tool verfügbar
  2. Bietet erweiterte Funktionen, die beim Erlernen der Datenbankverwaltung helfen.

NACHTEILE

  1. Die Pro-Version kostet viel Geld
  2. Nutzer berichten häufig von gelegentlichen Softwareabstürzen
  3. Unterstützt keine Datenbanken außer MySQL
  4. Keine native Unterstützung für Linux- und MAC-Betriebssysteme.
  5. Keine Drag-and-Drop-Unterstützung zwischen mehreren Tabs.

Cloudways MySQL-Datenbankmanager

Der Cloudways MySQL-Datenbankmanager ist bei weitem eines der praktischsten und nützlichsten MySQL-Verwaltungstools für Entwickler. Es ist aufgrund seiner benutzerfreundlichen Benutzeroberfläche sehr einfach zu verwenden und bietet alle erforderlichen MySQL-Verwaltungstools, die ein Datenbankmanager haben sollte:

Vorteile:

  1. Bietet eine benutzerfreundliche und anpassbare Benutzeroberfläche mit erweiterten Funktionen.
  2. Designt die Schematabellen, Einschränkungen und Abfragen visuell.
  3. Einfache Verbindung zur MySQL-Datenbank über SSH-Terminal.

Nachteile

  1. Keine Drag-and-Drop-Unterstützung für mehrere Registerkarten verfügbar.
  2. Fehlende Unterstützung für andere Datenbanken als MariaDB, MySQL.
Häufig gestellte Fragen

F:Wie überprüfe ich, ob MySQL läuft oder nicht?

A:Um zu überprüfen, ob MySQL ausgeführt wird, können Sie, sofern es als Dienst installiert ist, zu Start -> Systemsteuerung -> Verwaltung -> Dienste gehen und in dieser Liste nach MySQL suchen. Überprüfen Sie, ob es ausgeführt wird oder nicht.

F:Wie finde ich meinen Localhost-Port für MySQL?

A:Wenn Sie MySQL Workbench verwenden, schauen Sie auf der Registerkarte Sitzung im Informationsbereich in der Seitenleiste nach. Wenn Sie phpMyAdmin verwenden, klicken Sie auf Home und dann im oberen Menü auf Variablen. Suchen Sie auf der Seite nach der Porteinstellung. Der festgelegte Wert ist Ihre MySQL-Portnummer.

F:Wie lautet mein MySQL-Benutzername und -Passwort für localhost?

A:Sehen Sie sich http://php.net/manual/en/function.mysql-connect.php an. $servername =„localhost“; $username =„root“; $Passwort =„“; Dies würde wahrscheinlich für neue Benutzer funktionieren und vergessen Sie nicht, die Datenbank zu erstellen, bevor Sie sich mit ihr verbinden.

F:Was ist die Standard-PHP-Funktion zum Verbinden mit einer MySQL-Datenbank?

A:Einer der Gründe, warum PHP so gut mit MySQL zusammenarbeitet, ist die Funktion mysql_connect, die eine Datenbankverbindung öffnet. Diese Funktion benötigt fünf Argumente.

Schlussfolgerung

Eine gute Datenbankstruktur ist das Rückgrat jeder Anwendung. Unabhängig davon, ob es sich um ein CMS oder eine Online-Aufgabenverfolgungsplattform handelt, benötigen Sie eine oder mehrere MySQL-Datenbanken, um Anwendungs- und Benutzerinformationen sowie Serverdaten für die Anwendungsprozesse nachzuverfolgen.

In diesem Tutorial haben wir zwei Dinge gelernt:

  • So erstellen Sie eine neue Datenbank
  • Wie man eine MySQL-Datenbank mit PHP verbindet

Sowohl MySQLi als auch PDO haben ihre Vorlieben. Vor dem Start sollte man jedoch bedenken, dass MySQL nur verwendet wird, um MySQL mit PHP zu verbinden, wenn Sie auf eine andere Datenbank migrieren müssen, müssen Sie den gesamten Code ändern. Andererseits arbeitet PDO mit 12 verschiedenen Datenbanken, was die Migration viel weniger anspruchsvoll macht.