sql >> Database teknologi >  >> RDS >> Mysql

Sådan forbinder du MySQL-database med PHP-websted

MySQL er et meget populært databasestyringssystem, der kan drive projekter i alle størrelser. Dets evne til at håndtere enorme mængder data uden at svede er et af dets største salgsargumenter. Forbind MySQL med PHP-kode, du kan gøre brug af en af ​​tre metoder.

Der er tre typer metoder i PHP til at forbinde MySQL-database via backend:

  • MySQL
  • MySQLi
  • BOB

mysql() er nu forældet på grund af sikkerhedsproblemer som SQL-injektion osv., men de to andre bruges aktivt.

MySQLi

MySQLi er en API, der bruges som en forbindelsesfunktion til at forbinde PHP-appens backend til MySQL-databasen. Det fungerer ligesom den tidligere version, men det er sikrere og hurtigere og giver et bedre sæt funktioner og udvidelser. MySQLi blev introduceret med PHP 5.0.0 og driverne blev installeret i 5.3.0. API'et er designet til at understøtte MySQL fra version 4.1.13 til nyere.

BOB

PHP Data Objects (PDO) udvidelse er et Database Abstraction Layer. Det er som en grænseflade for backend til at interagere med MySQL-databasen og foretage ændringer uden at foretage nogen ændring i PHP-koden. Det giver dig også frihed til at arbejde med flere databaser. Den største fordel ved at bruge PDO er, at din kode forbliver enkel og bærbar.

I denne artikel vil jeg diskutere, hvordan du forbinder MySQL-database på forskellige servere, og jeg vil også give dig et overblik over tilslutning af database ved hjælp af PDO.

  1. Tilslut MySQL ved hjælp af Localhost Server
  2. Tilslut MySQL ved hjælp af Cloudways Server
  3. Tilslut MySQL ved hjælp af PDO
  4. Tilslut MySQL ved hjælp af Remote MySQL

Download MYSQL-snydeark nu

Vi sender et downloadlink til din indbakke.

Tak

Din e-bog er på vej til din indbakke.


Opret MySQL-database på Localhost

Før du begynder at bygge PHP-forbindelse til MySQL-databasen, skal du vide, hvad PHPMyAdmin er. Det er et kontrolpanel, hvorfra du kan administrere den database, du har oprettet. Åbn din browser og gå til localhost/PHPMyAdmin eller klik på "Admin" i XAMPP UI.

Da du først installerede XAMPP, oprettede det kun brugernavnet for at få adgang til det, du skal nu tilføje en adgangskode til det selv. Til dette skal du gå til Brugerkonto, hvor brugeren er den samme som den, der er vist på dette billede:

Klik nu på Rediger privilegier og gå til Skift administratoradgangskode, skriv din adgangskode der og gem den. Husk denne adgangskode, da den vil blive brugt til at oprette forbindelse til din database.

Bemærk:Det er ikke nødvendigt at ændre adgangskoden for at få adgang til databaser på den lokale vært. Det er en god praksis, og det er derfor, vi har brugt en adgangskode.

Opret database

Vend nu tilbage til hjemmesiden for PHPMyAdmin. Klik på Ny knappen for at oprette en ny database.

I det nye vindue skal du navngive din database efter dit behov, jeg kalder den "praksis ”. Vælg nu Collation som utf8_general_ci, da vi bruger det til læringsformål, og det vil håndtere alle vores forespørgsler og data, der vil blive dækket i denne selvstudieserie. Klik nu på Opret og din database vil blive oprettet.

Den nyoprettede database vil være tom nu, da der ikke er nogen tabeller i den. Det vil jeg dække i den kommende serie, hvor vi vil lære at oprette tabeller og indsætte data i det. I denne vejledning skal vi forbinde denne database med localhost ved hjælp af PHP

Opret en mappe i htdocs

Find nu mappen, hvor du installerede XAMPP, og åbn htdocs-mappen (normalt c:/xampp). Opret en ny mappe inde i c:/xampp/htdocs/ og navngiv den "øv", vi vil placere webfiler i denne mappe. Hvorfor har vi lavet en mappe i htdocs? XAMPP bruger mapper i htdocs til at udføre og køre dine PHP-websteder.

Bemærk:Hvis du bruger WAMP, så tilføj din træningsmappe i mappen c:/wamp/www.

Opret databaseforbindelsesfil i PHP

Opret en ny PHP-fil, og giv den navnet db_connnection.php og gem den. Hvorfor opretter jeg en separat databaseforbindelsesfil? For hvis du har oprettet flere filer, hvor du vil indsætte data eller vælge data fra databaserne, behøver du ikke skrive koden til databaseforbindelse hver gang.

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

Her er forklaringen på den variabel, som vi har brugt i vores db_connection fil:

  1. $dbhost vil være værten, hvor din server kører, den er normalt localhost.
  2. $dbuser vil være brugernavnet, dvs. root og $dbpass vil være adgangskoden, som er den samme, som du brugte til at få adgang til din PHPMyAdmin.
  3. $dbname vil være navnet på din database, som vi har oprettet i denne øvelse.

Du skal bare inkludere det ved at bruge PHP brugerdefineret funktion inkludere (inkluder 'connection.php') øverst på din kode og kald dens funktion og brug den. Det hjælper også, når du flytter din projektplacering fra en pc til en anden, og du skal ændre værdierne på den enkelte fil, og alle ændringerne vil automatisk blive anvendt på alle de andre filer.

Opret en ny PHP-fil for at kontrollere din databaseforbindelse

Opret en ny PHP-fil for at oprette forbindelse til din database. Navngiv den index.php og tilføj denne kode i denne fil.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Kør det!

Åbn nu din browser og gå til localhost/practice/index.php, og du skulle se denne skærm:

Bekræftelsesmeddelelse

Tillykke! Du har med succes forbundet din database med din lokale vært! Hvis du ikke kan se denne skærm, så tjek om du har gjort alt rigtigt i din db_connection.php-fil.

Opret MySQL-database på Cloudways Server

Med henblik på denne vejledning antager jeg, at du har en PHP-applikation installeret på en webserver. Min opsætning er:

  • PHP 7.3
  • MySQL

Jeg besluttede at hoste min PHP-applikation på Cloudways-administrerede servere, fordi jeg får en meget optimeret hosting-stak og ingen besvær med serveradministration. Du kan prøve Cloudways gratis ved at logge på en konto og derefter følge denne enkle GIF til opsætning af serveren og PHP-applikationen. Tjek Cloudways hostingplaner for AWS, Google Compute Engine, Vultr, Linode og Digital Ocean for at finde den rigtige pasform til dig.

Efter succesfuld lancering af en PHP-applikation på Cloudways, gå ind på applikationsfanen og tjek detaljerne i databasen og klik også på knappen for at starte databasestyring .

Opret forbindelse til MySQL-database

Brug mysql_connect for at oprette en forbindelse til databasen fungere. Denne funktion returnerer en pointer (også kendt som et databasehåndtag) til databaseforbindelsen. Dette håndtag vil blive brugt i koden senere. Når du har håndtaget, skal du huske at tilføje dine databaselegitimationsoplysninger.

  • Opret en ny PHP-fil, og giv den navnet db_connnection.php og gem den.

Hvorfor opretter jeg en separat databaseforbindelsesfil? For hvis du har oprettet flere filer, hvor du vil indsætte data eller vælge data fra databaserne, behøver du ikke skrive koden til databaseforbindelse hver gang. Du skal bare inkludere det ved at bruge PHP brugerdefineret funktion include (inkluder 'connection.php') på toppen af ​​din kode og kalde dens funktion og bruge den.

På dette tidspunkt har du mulighed for enten at bruge MySQLi proceduremæssig forbindelsesforespørgsel eller PHP PDO-baseret databaseforbindelse:

MySQLi Procedurel forespørgsel

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

?>

Forbind MySQL-database med PHP ved hjælp af 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();

   }

?>

Tjek forbindelse

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

For PDO Luk forbindelsen sådan her

$conn = null;

Fjern MySQL

For ekstern PHP MySQL-forbindelse Log ind på Cloudways-platformen med dine legitimationsoplysninger. Klik på “Servere” i den øverste menulinje. Klik derefter på din målserver fra listen.

  • Gå derefter til menupunktet Sikkerhed i menuen til venstre, og klik derefter på fanen MySQL.
  • Tilføj IP-adressen til tekstområdet "Tilføj IP til hvidliste", og klik på knappen "Tilføj".
  • Hvis du har flere IP-adresser, gentag processen.
  • Når du er færdig, skal du klikke på knappen "Gem ændringer" for at færdiggøre ændringerne

Efter succes, indstil IP-hvidlisting, sæt IP-adressen i forbindelse og kør forespørgslen.

Top MySQL-administrationsværktøjer

MySQL Workbench

MySQL Workbench er et visuelt værktøj til databasedesignere, udviklere og DBA'er. MySQL Workbench giver informationsmodellering, SQL-fremme og omfattende organisationsenheder til serverarrangement, klientorganisation, forstærkning og meget mere. MySQL Workbench er tilgængelig på Windows, Linux og Mac OS X.

MySQL Workbench er en meget populær MySQL database manager for udviklere. Det giver praktiske administrationsværktøjer som serverkonfiguration, brugeradministration og mange andre. Det er tilgængeligt til MAC OS, Linux og Windows-operativsystemer.

Vi råder alle de spirende udviklere, der ønsker at lære databaseadministration, at bruge det til deres fordel. Administrationsfunktionerne vil hjælpe dem med at mestre databaseadministration fuldt ud.

Fordele

  1. Det gemmer SQL-sætninger
  2. Giver offlineadgang til eksterne DB'er
  3. Gemmer flere forbindelser på ét sted
  4. Visuelt skema og forespørgselsbygger tilgængelig

Idele

  1. Det er mere komplekst sammenlignet med PHPMyAdmin.
  2. Brugere rapporterer ofte softwarenedbrud.

Navicat er en serie af grafisk databaseadministration og softwareudvikling. Det kan være et enkelt program, der tillader dig at tilknytte PHP MySQL-forbindelse og MariaDB-databaser på samme tid. I overensstemmelse med cloud-databaser som Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud og Microsoft Azure.

Navicat til MySQL leverer alle de avancerede værktøjer, som en udvikler har brug for for fuldt ud at administrere sine databaseoperationer. Dens kompatibilitet med cloud-databaser gør den praktisk at bruge, mens du administrerer en cloud-baseret applikation. Nogle af dens hovedfunktioner er:

Fordele:

  1. Intuitiv, brugervenlig brugergrænseflade.
  2. Giver nem forbindelse til MySQL-database via SSH-terminal.
  3. Planlæg databasejob – sikkerhedskopiering, gendannelse, kør rapporter og mere.
  4. Importer og eksporter data fra ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. Visuelle skema- og forespørgselsbyggere tilgængelige.
  6. Kompatibel med Windows-, Linux- og MAC-operativsystemer.
  7. Team samarbejde funktion tilgængelig

Idele:

  1. Den professionelle version er dyr
  2. Eksekvering på Linux kræver Wine, hvilket sænker IDE'en.
  3. Tidskrævende processtyring

MySQL Yog

Dette MySQL-styringsværktøj har tre tilgængelige pakker, nemlig Professional, Enterprise og Pro. Du kan vælge en af ​​dem efter at have testet.

MySQL-administratorerne kan nemt arbejde med denne platform og kan håndtere deres databaseopgaver effektivt. Den er kun tilgængelig for Windows-operativsystemer.

PROS

  1. Smooth forespørgselsdesignerværktøj tilgængeligt
  2. Tilbyder avancerede funktioner, der hjælper med at lære databaseadministration.

CONS

  1. Proversionen er tung på lommen
  2. Brugere rapporterer ofte om lejlighedsvise softwarenedbrud
  3. Understøtter ingen databaser undtagen MySQL
  4. Ingen indbygget understøttelse af Linux- og MAC-operativsystemer.
  5. Ingen træk og slip-understøttelse mellem flere faner.

Cloudways MySQL Database Manager

Cloudways MySQL database manager er langt et af de mest handy og nyttige MySQL administrationsværktøjer for udviklere. Det er meget nemt at bruge på grund af dets brugervenlige brugergrænseflade og giver alle de nødvendige MySQL-administrationsværktøjer, som en databaseadministrator skal have:

Fordele:

  1. Tilbyder brugervenlig og tilpasselig UI med avancerede funktioner.
  2. Designer skematabellerne, begrænsningerne og forespørgslerne visuelt.
  3. Nem forbindelse til MySQL-database ved hjælp af SSH-terminal.

Idele

  1. Ingen understøttelse af træk og slip tilgængelig for flere faner.
  2. Mangel på understøttelse af andre databaser end MariaDB, MySQL.
Ofte stillede spørgsmål

Sp:Hvordan kontrollerer jeg, om MySQL kører eller ej?

A:For at kontrollere om MySQL kører, forudsat at det er installeret som en tjeneste, kan du gå til Start -> Kontrolpanel -> Administrative værktøjer -> Tjenester og se efter MySQL på listen. Tjek, om den kører eller ej.

Sp:Hvordan finder jeg min localhost-port til MySQL?

A:Hvis du bruger MySQL Workbench, skal du se på fanen Session i informationsruden på sidebjælken. Hvis du bruger phpMyAdmin, skal du klikke på Hjem og derefter Variabler i topmenuen. Se efter portindstillingen på siden. Den indstillede værdi er dit MySQL-portnummer.

Sp:Hvad er mit localhost MySQL-brugernavn og -adgangskode?

A:Tjek http://php.net/manual/en/function.mysql-connect.php. $servername ="localhost"; $brugernavn ="rod"; $password =""; Dette vil sandsynligvis fungere for nye brugere, og glem ikke at oprette databasen, før du opretter forbindelse til den.

Sp:Hvad er standard PHP-funktionen til at oprette forbindelse til en MySQL-database?

A:En af grundene til, at PHP fungerer så godt med MySQL, er funktionen mysql_connect, der åbner en databaseforbindelse. Denne funktion tager fem argumenter.

Konklusion

En god databasestruktur er rygraden i enhver applikation. Uanset om det er et CMS eller en online opgavesporingsplatform, har du brug for en MySQL-database(r) til at holde styr på app- og brugeroplysninger og serverdata til applikationsprocesserne.

I denne øvelse har vi lært to ting:

  • Sådan opretter du en ny database
  • Sådan forbinder du MySQL-database med PHP

Både MySQLi og PDO har deres præferencer. Men før du starter, skal du huske på, at MySQL kun bruges til at forbinde MySQL med PHP, hvis du skal migrere til en anden database, får du ændret hele koden. På den anden side arbejder PDO med 12 forskellige databaser, hvilket gør migreringen meget mindre krævende.


  1. Få topresultater for hver gruppe (i Oracle)

  2. hvordan man støber hexadecimalen til varchar (datetime)?

  3. Værktøj til scripting af tabeldata

  4. Tidszonekonvertering i SQL-forespørgsel