sql >> Database >  >> RDS >> Mysql

Hoe MySQL-database te verbinden met PHP-website

MySQL is een zeer populair databasebeheersysteem dat projecten van elke omvang kan aansturen. Het vermogen om enorme hoeveelheden gegevens te verwerken zonder te zweten, is een van de grootste verkoopargumenten. Verbind MySQL met PHP-code, u kunt gebruikmaken van een van de drie methodieken.

Er zijn drie soorten methoden in PHP om de MySQL-database via de backend te verbinden:

  • MijnSQL
  • MySQLi
  • BOB

mysql() is nu verouderd vanwege beveiligingsproblemen zoals SQL-injectie enz., maar de andere twee worden actief gebruikt.

MySQLi

MySQLi is een API die wordt gebruikt als connectorfunctie om de backend van de PHP-app te koppelen aan de MySQL-database. Het werkt net als de vorige versie, maar het is veiliger en sneller en biedt een betere set functies en uitbreidingen. MySQLi is geïntroduceerd met PHP 5.0.0 en de stuurprogramma's zijn geïnstalleerd in 5.3.0. De API is ontworpen om MySQL te ondersteunen vanaf versie 4.1.13 tot nieuwere.

BOB

PHP Data Objects (PDO) extensie is een Database Abstraction Layer. Het is als een interface voor de backend om te communiceren met de MySQL-database en wijzigingen aan te brengen zonder enige wijziging in de PHP-code aan te brengen. Het geeft je ook de vrijheid om met meerdere databases te werken. Het grote voordeel van het gebruik van PDO is dat uw code eenvoudig en draagbaar blijft.

In dit artikel bespreek ik hoe je MySQL Database op verschillende servers kunt aansluiten en geef ik je ook een overzicht van het verbinden van Database met behulp van PDO.

  1. Verbind MySQL met behulp van Localhost Server
  2. Verbind MySQL met Cloudways Server
  3. Verbind MySQL met PDO
  4. Verbind MySQL met Remote MySQL

Download nu MYSQL-spiekbriefje

We sturen een downloadlink naar je inbox.

Bedankt

Je e-boek is onderweg naar je inbox.


Maak MySQL-database op de Localhost

Voordat u begint met het bouwen van een PHP-verbinding met de MySQL-database, moet u weten wat PHPMyAdmin is. Het is een configuratiescherm van waaruit u de database kunt beheren die u hebt gemaakt. Open uw browser en ga naar localhost/PHPMyAdmin of klik op "Admin" in XAMPP UI.

Toen u XAMPP voor het eerst installeerde, heeft het alleen de gebruikersnaam gemaakt om toegang te krijgen, u moet er nu zelf een wachtwoord aan toevoegen. Hiervoor moet je naar Gebruikersaccount gaan waar de gebruiker dezelfde is als degene die op deze afbeelding wordt getoond:

Klik nu op Bevoegdheden bewerken en ga naar Beheerderswachtwoord wijzigen, typ daar uw wachtwoord en sla het op. Onthoud dit wachtwoord, want het zal worden gebruikt om verbinding te maken met uw database.

Opmerking:het is niet nodig om het wachtwoord te wijzigen om toegang te krijgen tot databases op de localhost. Het is een goede gewoonte en daarom hebben we een wachtwoord gebruikt.

Database maken

Keer nu terug naar de homepage van PHPMyAdmin. Klik op de Nieuw knop om een ​​nieuwe database aan te maken.

Geef in het nieuwe venster uw database een naam volgens uw behoefte, ik noem het "practice ”. Selecteer nu Sorteren als utf8_general_ci, omdat we het gebruiken voor leerdoeleinden en het zal al onze vragen en gegevens behandelen die in deze tutorialreeks worden behandeld. Klik nu op Maken en uw database wordt gemaakt.

De nieuw gemaakte database is nu leeg, omdat er geen tabellen in staan. Ik zal dat behandelen in de komende serie, waar we zullen leren hoe we tabellen kunnen maken en er gegevens in kunnen invoegen. In deze tutorial gaan we deze database verbinden met localhost met behulp van PHP

Maak een map in htdocs

Zoek nu de map waarin u XAMPP hebt geïnstalleerd en open de map htdocs (meestal c:/xampp). Maak een nieuwe map in c:/xampp/htdocs/ en noem deze "practice", we zullen webbestanden in deze map plaatsen. Waarom hebben we een map gemaakt in htdocs? XAMPP gebruikt mappen in htdocs om uw PHP-sites uit te voeren en uit te voeren.

Opmerking:als je WAMP gebruikt, voeg dan je oefenmap toe aan de map c:/wamp/www.

Databaseverbindingsbestand maken in PHP

Maak een nieuw PHP-bestand en noem het db_connnection.php en bewaar het. Waarom maak ik een afzonderlijk databaseverbindingsbestand aan? Want als u meerdere bestanden heeft gemaakt waarin u gegevens wilt invoegen of gegevens uit de databases wilt selecteren, hoeft u niet elke keer de code voor databaseverbinding te schrijven.

<?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 is de uitleg van de variabele die we hebben gebruikt in ons db_connection-bestand:

  1. $dbhost zal de host zijn waarop je server draait, het is meestal localhost.
  2. $dbuser zal de gebruikersnaam zijn, d.w.z. root en $dbpass zal het wachtwoord zijn dat hetzelfde is dat u gebruikte om toegang te krijgen tot uw PHPMyAdmin.
  3. $dbname is de naam van uw database die we in deze tutorial hebben gemaakt.

Je hoeft het alleen maar op te nemen met behulp van de aangepaste PHP-functie include (voeg 'connection.php' toe) bovenaan uw code en roep de functie op en gebruik deze. Het helpt ook wanneer u uw projectlocatie van de ene pc naar de andere verplaatst en u de waarden van het ene bestand moet wijzigen en alle wijzigingen worden automatisch toegepast op alle andere bestanden.

Maak een nieuw PHP-bestand om je databaseverbinding te controleren

Maak een nieuw PHP-bestand om verbinding te maken met uw database. Noem het index.php en voeg deze code toe aan dit bestand.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Voer het uit!

Open nu je browser en ga naar localhost/practice/index.php en je zou dit scherm moeten zien:

Bevestigingsbericht

Gefeliciteerd! Je hebt je database succesvol verbonden met je localhost! Als je dit scherm niet kunt zien, controleer dan of je alles goed hebt gedaan in je db_connection.php-bestand.

Maak MySQL-database op Cloudways Server

Voor het doel van deze tutorial ga ik ervan uit dat je een PHP-applicatie op een webserver hebt geïnstalleerd. Mijn configuratie is:

  • PHP 7.3
  • MySQL

Ik besloot mijn PHP-applicatie te hosten op door Cloudways beheerde servers omdat ik een sterk geoptimaliseerde hostingstack krijg en geen gedoe met serverbeheer. U kunt Cloudways gratis uitproberen door u aan te melden voor een account en vervolgens deze eenvoudige GIF te volgen voor het instellen van de server en de PHP-toepassing. Bekijk Cloudways-hostingplannen voor AWS, Google Compute Engine, Vultr, Linode en Digital Ocean om de juiste oplossing voor u te vinden.

Na het succesvol starten van een PHP-applicatie op Cloudways gaat u naar het applicatietabblad en controleert u de details van de database en klikt u ook op de knop om databasemanager te starten .

Verbinden met MySQL-database

Om een ​​verbinding met de database tot stand te brengen, gebruikt u de mysql_connect functie. Deze functie retourneert een pointer (ook wel database-handle genoemd) naar de databaseverbinding. Deze handle wordt later in de code gebruikt. Als je eenmaal het handvat hebt, vergeet dan niet om je databasegegevens toe te voegen.

  • Maak een nieuw PHP-bestand en noem het db_connnection.php en bewaar het.

Waarom maak ik een afzonderlijk databaseverbindingsbestand aan? Want als je meerdere bestanden hebt gemaakt waarin je gegevens wilt invoegen of gegevens uit de databases wilt selecteren, hoef je niet elke keer de code voor databaseverbinding te schrijven. Je hoeft het alleen maar op te nemen met behulp van de aangepaste PHP-functie include (inclusief 'connection.php') bovenaan je code en de functie aan te roepen en te gebruiken.

Op dit punt heb je de mogelijkheid om ofwel MySQLi procedurele verbindingsquery of PHP PDO-gebaseerde databaseverbinding te gebruiken:

MySQLi procedurele query

<?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";

?>

Verbind MySQL-database met PHP met behulp van PDO

<?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();

   }

?>

Verbinding controleren

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

Voor PDO Sluit de verbinding zoals dit

$conn = null;

MySQL op afstand

Voor externe PHP MySQL-verbinding Log in op het Cloudways-platform met uw inloggegevens. Klik op “Servers” in de bovenste menubalk. Klik vervolgens op uw doelserver in de lijst.

  • Ga vervolgens naar de menuoptie Beveiliging in het linkermenu en klik vervolgens op het tabblad MySQL.
  • Voeg het IP-adres toe aan het tekstgebied "IP toevoegen aan witte lijst" en klik op de knop "Toevoegen".
  • Als u meerdere IP-adressen heeft, herhaalt u het proces.
  • Als u klaar bent, klikt u op de knop "Wijzigingen opslaan" om de wijzigingen af ​​te ronden

Stel na het succesvol instellen van de IP Whitelisting het IP-adres in en voer de query uit.

Top MySQL-beheertools

MySQL-werkbank

MySQL Workbench is een visueel hulpmiddel voor databaseontwerpers, ontwikkelaars en DBA's. MySQL Workbench biedt informatiemodellering, SQL-verbetering en uitgebreide organisatie-apparaten voor serverindeling, clientorganisatie, versterking en nog veel meer. MySQL Workbench is toegankelijk op Windows, Linux en Mac OS X.

MySQL Workbench is een zeer populaire MySQL-databasemanager voor ontwikkelaars. Het biedt handige beheertools zoals serverconfiguratie, gebruikersbeheer en vele andere. Het is beschikbaar voor MAC OS-, Linux- en Windows-besturingssystemen.

We raden al die beginnende ontwikkelaars die databasebeheer willen leren aan om het in hun voordeel te gebruiken. De beheerfuncties zullen hen helpen om het databasebeheer volledig onder de knie te krijgen.

Voordelen

  1. Het slaat SQL-statements op
  2. Biedt offline toegang tot externe DB's
  3. Slaat meerdere verbindingen op één locatie op
  4. Visueel schema en querybuilder beschikbaar

Nadelen

  1. Het is complexer in vergelijking met PHPMyAdmin.
  2. Gebruikers melden vaak softwarecrashes.

Navicat is een serie grafische databasebeheer en softwareontwikkeling. Het kan een enkele applicatie zijn waarmee u tegelijkertijd verbinding kunt maken met de PHP MySQL-verbinding en MariaDB-databases. Consistent met clouddatabases zoals Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud en Microsoft Azure.

Navicat voor MySQL biedt alle geavanceerde tools die een ontwikkelaar nodig heeft om zijn databaseactiviteiten volledig te beheren. De compatibiliteit met clouddatabases maakt het handig om te gebruiken bij het beheren van een cloudgebaseerde applicatie. Enkele van de belangrijkste kenmerken zijn:

Pluspunten:

  1. Intuïtieve, gebruiksvriendelijke gebruikersinterface.
  2. Biedt een gemakkelijke verbinding met de MySQL-database via SSH-terminal.
  3. Plan databasetaken - back-up maken, herstellen, rapporten uitvoeren en meer.
  4. Importeer en exporteer gegevens uit ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. Visuele schema- en query-builders beschikbaar.
  6. Compatibel met Windows-, Linux- en MAC-besturingssystemen.
  7. Teamsamenwerkingsfunctie beschikbaar

Nadelen:

  1. De professionele versie is duur
  2. Voor uitvoering op Linux is Wine vereist, wat de IDE vertraagt.
  3. Tijdrovend procesbeheer

MySQL Yog

Deze MySQL-beheertool heeft drie pakketten beschikbaar, namelijk Professional, Enterprise en Pro. Je kunt ze allemaal kiezen nadat je ze hebt uitgeprobeerd.

De MySQL-beheerders kunnen eenvoudig met dit platform werken en kunnen hun databasetaken efficiënt afhandelen. Het is alleen beschikbaar voor Windows-besturingssystemen.

PRO'S

  1. Vloeiende tool voor het ontwerpen van query's beschikbaar
  2. Biedt geavanceerde functies die helpen bij het leren van databasebeheer.

CONS

  1. De pro-versie kost veel geld
  2. Gebruikers melden vaak incidentele softwarecrashes
  3. Ondersteunt geen databases behalve MySQL
  4. Geen native ondersteuning voor Linux- en MAC-besturingssystemen.
  5. Geen ondersteuning voor slepen en neerzetten tussen meerdere tabbladen.

Cloudways MySQL Database Manager

Cloudways MySQL-databasemanager is verreweg een van de handigste en handigste MySQL-beheertools voor ontwikkelaars. Het is heel gemakkelijk te gebruiken vanwege de gebruiksvriendelijke gebruikersinterface en biedt alle benodigde MySQL-beheertools die een databasemanager zou moeten hebben:

Pluspunten:

  1. Biedt een gebruiksvriendelijke en aanpasbare gebruikersinterface met geavanceerde functies.
  2. Ontwerpt de schematabellen, beperkingen en query's visueel.
  3. Eenvoudige verbinding met de MySQL-database via SSH-terminal.

Nadelen

  1. Geen ondersteuning voor slepen en neerzetten beschikbaar voor meerdere tabbladen.
  2. Gebrek aan ondersteuning voor andere databases dan MariaDB, MySQL.
Veel Gestelde Vragen

V:Hoe controleer ik of MySQL actief is of niet?

A:Om te controleren of MySQL actief is, op voorwaarde dat het als een service is geïnstalleerd, gaat u naar Start -> Configuratiescherm -> Systeembeheer -> Services en zoekt u naar MySQL in die lijst. Controleer of het actief is of niet.

V:Hoe vind ik mijn localhost-poort voor MySQL?

A:Als je MySQL Workbench gebruikt, kijk dan op het tabblad Sessie in het informatievenster in de zijbalk. Als u phpMyAdmin gebruikt, klikt u op Home en vervolgens op Variabelen in het bovenste menu. Zoek naar de poortinstelling op de pagina. De ingestelde waarde is uw MySQL-poortnummer.

V:Wat is mijn localhost MySQL gebruikersnaam en wachtwoord?

A:Kijk op http://php.net/manual/en/function.mysql-connect.php. $servername ="lokale host"; $gebruikersnaam ="root"; $wachtwoord =""; Dit werkt waarschijnlijk voor nieuwe gebruikers en vergeet niet om de database aan te maken voordat u er verbinding mee maakt.

V:Wat is de standaard PHP-functie om verbinding te maken met een MySQL-database?

A:Een van de redenen waarom PHP zo goed werkt met MySQL is de mysql_connect-functie die een databaseverbinding opent. Deze functie heeft vijf argumenten.

Conclusie

Een goede databasestructuur is de ruggengraat van elke applicatie. Of het nu gaat om een ​​CMS of een online platform voor het volgen van taken, u hebt een MySQL-database(s) nodig om app- en gebruikersinformatie en servergegevens naar de aanvraagprocessen bij te houden.

In deze tutorial hebben we twee dingen geleerd:

  • Een nieuwe database maken
  • Hoe MySQL-database verbinden met PHP

Zowel MySQLi als PDO hebben hun voorkeuren. Voordat u begint, moet u er echter rekening mee houden dat MySQL alleen wordt gebruikt om MySQL met PHP te verbinden. Als u naar een andere database moet migreren, kunt u de hele code wijzigen. Aan de andere kant werkt PDO met 12 verschillende databases, wat de migratie veel minder veeleisend maakt.


  1. Hoe REPEAT() werkt in MariaDB

  2. PolyBase verbinden met Salesforce.com

  3. Schone manier om postgresql-vensterfuncties in django ORM te gebruiken?

  4. Vervang een tekenreeks door een andere tekenreeks in SQL Server (T-SQL)