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.
- Tilslut MySQL ved hjælp af Localhost Server
- Tilslut MySQL ved hjælp af Cloudways Server
- Tilslut MySQL ved hjælp af PDO
- 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:
- $dbhost vil være værten, hvor din server kører, den er normalt localhost.
- $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.
- $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
- Det gemmer SQL-sætninger
- Giver offlineadgang til eksterne DB'er
- Gemmer flere forbindelser på ét sted
- Visuelt skema og forespørgselsbygger tilgængelig
Idele
- Det er mere komplekst sammenlignet med PHPMyAdmin.
- Brugere rapporterer ofte softwarenedbrud.
Navicat til MySQL
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:
- Intuitiv, brugervenlig brugergrænseflade.
- Giver nem forbindelse til MySQL-database via SSH-terminal.
- Planlæg databasejob – sikkerhedskopiering, gendannelse, kør rapporter og mere.
- Importer og eksporter data fra ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
- Visuelle skema- og forespørgselsbyggere tilgængelige.
- Kompatibel med Windows-, Linux- og MAC-operativsystemer.
- Team samarbejde funktion tilgængelig
Idele:
- Den professionelle version er dyr
- Eksekvering på Linux kræver Wine, hvilket sænker IDE'en.
- 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
- Smooth forespørgselsdesignerværktøj tilgængeligt
- Tilbyder avancerede funktioner, der hjælper med at lære databaseadministration.
CONS
- Proversionen er tung på lommen
- Brugere rapporterer ofte om lejlighedsvise softwarenedbrud
- Understøtter ingen databaser undtagen MySQL
- Ingen indbygget understøttelse af Linux- og MAC-operativsystemer.
- 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:
- Tilbyder brugervenlig og tilpasselig UI med avancerede funktioner.
- Designer skematabellerne, begrænsningerne og forespørgslerne visuelt.
- Nem forbindelse til MySQL-database ved hjælp af SSH-terminal.
Idele
- Ingen understøttelse af træk og slip tilgængelig for flere faner.
- Mangel på understøttelse af andre databaser end MariaDB, MySQL.
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.