sql >> Databasteknik >  >> RDS >> Mysql

Hur man ansluter MySQL-databas med PHP-webbplats

MySQL är ett mycket populärt databashanteringssystem som kan driva projekt av alla storlekar. Dess förmåga att hantera enorma mängder data utan att svettas är en av dess största försäljningsargument. Anslut MySQL med PHP-kod, du kan använda en av tre metoder.

Det finns tre typer av metoder i PHP för att ansluta MySQL-databas via backend:

  • MySQL
  • MySQLi
  • PDO

mysql() är nu föråldrad på grund av säkerhetsproblem som SQL-injektion etc, men de andra två används aktivt.

MySQLi

MySQLi är ett API som används som en kopplingsfunktion för att länka backend av PHP-appen till MySQL-databasen. Den fungerar precis som den tidigare versionen, men den är säkrare och snabbare och ger en bättre uppsättning funktioner och tillägg. MySQLi introducerades med PHP 5.0.0 och drivrutinerna installerades i 5.3.0. API:et utformades för att stödja MySQL från version 4.1.13 till nyare.

PDO

PHP Data Objects (PDO)-tillägget är ett databasabstraktionslager. Det är som ett gränssnitt för backend att interagera med MySQL-databasen och göra ändringar utan att göra några ändringar i PHP-koden. Det ger dig också friheten att arbeta med flera databaser. Den stora fördelen med att använda PDO är att din kod förblir enkel och portabel.

I den här artikeln kommer jag att diskutera hur du ansluter MySQL Database på olika servrar och jag ska också ge dig en översikt över hur du ansluter Database med PDO.

  1. Anslut MySQL med Localhost Server
  2. Anslut MySQL med Cloudways Server
  3. Anslut MySQL med PDO
  4. Anslut MySQL med Remote MySQL

Ladda ned MYSQL-fuskblad nu

Vi skickar en nedladdningslänk till din inkorg.

Tack

Din e-bok är på väg till din inkorg.


Skapa MySQL-databas på Localhost

Innan du börjar bygga PHP-anslutning till MySQL-databas måste du veta vad PHPMyAdmin är. Det är en kontrollpanel där du kan hantera databasen som du har skapat. Öppna din webbläsare och gå till localhost/PHPMyAdmin eller klicka på "Admin" i XAMPP UI.

När du först installerade XAMPP skapade det bara användarnamnet för att det skulle nås, du måste nu lägga till ett lösenord till det själv. För detta måste du gå till Användarkonto där användaren är densamma som den som visas på denna bild:

Klicka nu på Redigera privilegier och gå till Ändra administratörslösenord, skriv in ditt lösenord där och spara det. Kom ihåg detta lösenord eftersom det kommer att användas för att ansluta till din databas.

Obs:Det är inte nödvändigt att ändra lösenordet för att komma åt databaser på den lokala värden. Det är en bra praxis och det är därför vi har använt ett lösenord.

Skapa databas

Gå nu tillbaka till PHPMyAdmins hemsida. Klicka på Ny för att skapa en ny databas.

I det nya fönstret, namnge din databas enligt dina behov, jag kallar den "övning ”. Välj nu Sortering som utf8_general_ci, eftersom vi använder det i lärande syften och det kommer att hantera alla våra frågor och data som kommer att behandlas i denna handledningsserie. Klicka nu på Skapa och din databas kommer att skapas.

Den nyskapade databasen kommer att vara tom nu, eftersom det inte finns några tabeller i den. Jag kommer att ta upp det i den kommande serien där vi kommer att lära oss hur man skapar tabeller och infogar data i den. I den här handledningen kommer vi att ansluta den här databasen till localhost med PHP

Skapa en mapp i htdocs

Leta nu upp mappen där du installerade XAMPP och öppna mappen htdocs (vanligtvis c:/xampp). Skapa en ny mapp inuti c:/xampp/htdocs/ och namnge den "öva" vi kommer att placera webbfiler i den här mappen. Varför har vi skapat en mapp i htdocs? XAMPP använder mappar i htdocs för att köra och köra dina PHP-webbplatser.

Obs:Om du använder WAMP, lägg sedan till din övningsmapp i mappen c:/wamp/www.

Skapa databasanslutningsfil i PHP

Skapa en ny PHP-fil och namnge den db_connnection.php och spara den. Varför skapar jag en separat databasanslutningsfil? För om du har skapat flera filer där du vill infoga data eller välja data från databaserna behöver du inte skriva koden för databasanslutning varje gång.

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

Här är förklaringen av variabeln som vi har använt i vår db_connection-fil:

  1. $dbhost kommer att vara den värd där din server körs, den är vanligtvis lokalvärd.
  2. $dbuser kommer att vara användarnamnet, dvs root och $dbpass kommer att vara lösenordet som är detsamma som du använde för att komma åt din PHPMyAdmin.
  3. $dbname kommer att vara namnet på din databas som vi har skapat i denna handledning.

Du behöver bara inkludera det genom att använda PHP anpassad funktion inkludera (inkludera 'connection.php') överst på din kod och anropa dess funktion och använd den. Det hjälper också när du flyttar din projektplats från en dator till en annan och du måste ändra värdena på den enskilda filen och alla ändringar kommer att tillämpas på alla andra filer automatiskt.

Skapa en ny PHP-fil för att kontrollera din databasanslutning

Skapa en ny PHP-fil för att ansluta till din databas. Namnge den index.php och lägg till den här koden i den här filen.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Kör det!

Öppna nu din webbläsare och gå till localhost/practice/index.php och du bör se den här skärmen:

Bekräftelsemeddelande

Grattis! Du har framgångsrikt kopplat din databas till din lokala värd! Om du inte kan se den här skärmen, kontrollera om du har gjort allt rätt i filen db_connection.php.

Skapa MySQL-databas på Cloudways Server

För syftet med denna handledning antar jag att du har en PHP-applikation installerad på en webbserver. Min inställning är:

  • PHP 7.3
  • MySQL

Jag bestämde mig för att vara värd för min PHP-applikation på Cloudways hanterade servrar eftersom jag får en mycket optimerad värdstack och inga problem med serverhantering. Du kan prova Cloudways gratis genom att registrera dig för ett konto och sedan följa denna enkla GIF för att ställa in servern och PHP-applikationen. Kolla in Cloudways värdplaner för AWS, Google Compute Engine, Vultr, Linode och Digital Ocean för att hitta rätt passform för dig.

Efter att ha framgångsrikt startat en PHP-applikation på Cloudways gå till programfliken och kontrollera informationen om databasen och klicka även på knappen för att starta databashanteraren .

Anslut till MySQL-databasen

För att skapa en anslutning till databasen använd mysql_connect fungera. Denna funktion returnerar en pekare (även känd som ett databashandtag) till databasanslutningen. Detta handtag kommer att användas i koden senare. När du har handtaget, kom ihåg att lägga till dina databasuppgifter.

  • Skapa en ny PHP-fil och döp den till db_connnection.php och spara den.

Varför skapar jag en separat databasanslutningsfil? För om du har skapat flera filer där du vill infoga data eller välja data från databaserna behöver du inte skriva koden för databasanslutning varje gång. Du behöver bara inkludera den genom att använda PHP anpassad funktion include (inkludera 'connection.php') överst på din kod och anropa dess funktion och använda den.

Vid det här laget har du möjlighet att antingen använda MySQLi proceduranslutningsfråga eller PHP PDO-baserad databasanslutning:

MySQLi procedurfråga

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

?>

Anslut MySQL-databas med PHP med 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();

   }

?>

Kontrollera anslutningen

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

För PDO Stäng anslutningen så här

$conn = null;

Remote MySQL

För fjärranslutning till PHP MySQL Logga in på Cloudways-plattformen med dina referenser. Klicka på "Server" i den översta menyraden. Klicka sedan på din målserver från listan.

  • Gå sedan till menyalternativet Säkerhet i menyn till vänster och klicka sedan på fliken MySQL.
  • Lägg till IP-adressen i textområdet "Lägg till IP till vitlista" och klicka på knappen "Lägg till".
  • Om du har flera IP-adresser, upprepa processen.
  • När du är klar klickar du på knappen "Spara ändringar" för att slutföra ändringarna

Efter att ha lyckats, ställ in IP Whitelisting, ställ in IP-adressen i anslutning och kör frågan.

Bästa MySQL-hanteringsverktyg

MySQL Workbench

MySQL Workbench är ett visuellt verktyg för databasdesigners, utvecklare och DBA:er. MySQL Workbench ger informationsmodellering, SQL-avancemang och omfattande organisationsenheter för serverarrangemang, klientorganisation, förstärkning och mycket mer. MySQL Workbench är tillgängligt på Windows, Linux och Mac OS X.

MySQL Workbench är en mycket populär MySQL-databashanterare för utvecklare. Den tillhandahåller praktiska administrationsverktyg som serverkonfiguration, användarhantering och många andra. Den är tillgänglig för MAC OS, Linux och Windows operativsystem.

Vi råder alla blivande utvecklare som vill lära sig databasadministration att använda det till sin fördel. Hanteringsfunktionerna kommer att hjälpa dem att bemästra databasadministrationen fullt ut.

Fördelar

  1. Den sparar SQL-satser
  2. Ger offlineåtkomst till fjärrdatabaser
  3. Lagrar flera anslutningar på en plats
  4. Visuellt schema och frågebyggare tillgängligt

Nackdelar

  1. Det är mer komplext jämfört med PHPMyAdmin.
  2. Användare rapporterar ofta programkrascher.

Navicat är en serie grafisk databasadministration och mjukvaruutveckling. Det kan vara en enda applikation som tillåter dig att associera till PHP MySQL-anslutning och MariaDB-databaser samtidigt. Överensstämmer med molndatabaser som Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud och Microsoft Azure.

Navicat för MySQL tillhandahåller alla avancerade verktyg som en utvecklare behöver för att fullständigt hantera sin databasverksamhet. Dess kompatibilitet med molndatabaser gör den praktisk att använda när du hanterar en molnbaserad applikation. Några av dess huvudfunktioner är:

Proffs:

  1. Intuitivt, lättanvänt användargränssnitt.
  2. Gör enkel anslutning till MySQL-databas via SSH-terminal.
  3. Schemalägg databasjobb – säkerhetskopiering, återställning, kör rapporter och mer.
  4. Importera och exportera data från ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. Visuella schema- och frågebyggare tillgängliga.
  6. Kompatibel med operativsystemen Windows, Linux och MAC.
  7. Funktion för teamsamarbete tillgänglig

Nackdelar:

  1. Den professionella versionen är dyr
  2. Körning på Linux kräver Wine, vilket saktar ner IDE.
  3. Tidskrävande processhantering

MySQL Yog

Detta MySQL-hanteringsverktyg har tre tillgängliga paket, det vill säga Professional, Enterprise och Pro. Du kan välja vilken som helst av dem efter att ha testat.

MySQL-administratörerna kan enkelt arbeta med denna plattform och kan hantera sina databasuppgifter effektivt. Den är endast tillgänglig för Windows-operativsystem.

PROS

  1. Smidigt frågedesignerverktyg tillgängligt
  2. Erbjuder avancerade funktioner som hjälper till att lära sig databasadministration.

NACKER

  1. Proversionen är tung på fickan
  2. Användare rapporterar ofta enstaka programkrascher
  3. Stöder inte några databaser förutom MySQL
  4. Inget inbyggt stöd för Linux- och MAC-operativsystem.
  5. Inget stöd för dra och släpp mellan flera flikar.

Cloudways MySQL Database Manager

Cloudways MySQL-databashanterare är överlägset ett av de praktiska och användbara MySQL-hanteringsverktygen för utvecklare. Det är mycket lätt att använda på grund av dess användarvänliga gränssnitt och tillhandahåller alla nödvändiga MySQL-administrationsverktyg som en databashanterare bör ha:

Proffs:

  1. Erbjuder användarvänligt och anpassningsbart gränssnitt med avancerade funktioner.
  2. Designar schematabellerna, begränsningarna och frågorna visuellt.
  3. Enkel anslutning till MySQL-databas med SSH-terminal.

Nackdelar

  1. Inget stöd för dra och släpp tillgängligt för flera flikar.
  2. Brist på stöd för andra databaser än MariaDB, MySQL.
Vanliga frågor

F:Hur kontrollerar jag om MySQL körs eller inte?

S:För att kontrollera om MySQL körs, förutsatt att det är installerat som en tjänst, kan du gå till Start -> Kontrollpanelen -> Administrativa verktyg -> Tjänster och leta efter MySQL på den listan. Kontrollera om den är igång eller inte.

F:Hur hittar jag min localhost-port för MySQL?

S:Om du använder MySQL Workbench, titta på fliken Session i informationsrutan i sidofältet. Om du använder phpMyAdmin, klicka på Hem och sedan Variabler i toppmenyn. Leta efter portinställningen på sidan. Det inställda värdet är ditt MySQL-portnummer.

F:Vad är mitt MySQL-användarnamn och lösenord för localhost?

S:Kolla in http://php.net/manual/en/function.mysql-connect.php. $servername ="localhost"; $användarnamn ="root"; $password =""; Detta skulle sannolikt fungera för nya användare och glöm inte att skapa databasen innan du ansluter till den.

F:Vilken är standard PHP-funktion för att ansluta till en MySQL-databas?

S:En av anledningarna till att PHP fungerar så bra med MySQL är funktionen mysql_connect som öppnar en databasanslutning. Denna funktion tar fem argument.

Slutsats

En bra databasstruktur är ryggraden i alla applikationer. Oavsett om det är ett CMS eller en plattform för uppgiftsspårning online, behöver du en MySQL-databas för att hålla reda på app- och användarinformation och serverdata till applikationsprocesserna.

I den här handledningen har vi lärt oss två saker:

  • Hur man skapar en ny databas
  • Hur man ansluter MySQL-databas med PHP

Både MySQLi och PDO har sina preferenser. Innan man börjar bör man dock komma ihåg att MySQL endast används för att koppla MySQL med PHP, om du behöver migrera till en annan databas får du modifiera hela koden. Å andra sidan fungerar PDO med 12 olika databaser, vilket gör migreringen mycket mindre krävande.


  1. Få de underliggande kolumnerna i en vy baserat på dess resultatuppsättning

  2. Prestandaöverväganden för temporär data i Oracle

  3. Felkod:1005. Kan inte skapa tabellen '...' (felnr:150)

  4. Inkrementell datamaskering och mappning:Upptäcker ändringar och uppdaterar...