Introduktion til PHP-databaseforbindelse

Databasen er en af ​​de vigtige komponenter i ethvert programmeringssprog. For at håndtere et dynamisk projekt og datastyring skal vi have databasen. PHP understøtter forskellige slags databaseforbindelser med det. MySQL er en af ​​de mest anvendte relationelle databaser, og den bruges for det meste også med PHP. I betragtning af udtrykket databaseforbindelse i PHP har MySQL selv forskellige måder at oprette forbindelser i et program til at lege med databasens operationer. Efter at have oprettet forbindelse til PHP-MYSQL kan vi gøre forskellige ting som - indsættelse af poster; sletning af poster; opdatering af poster osv. I denne artikel vil vi se databaseforbindelse på forskellige måder ved hjælp af PHP-sproget, så læs fortsat for at få fat i det ordentligt.

Sådan forbindes PHP-database

Inden vi opretter en forbindelse, skal vi have detaljer som - Hostname, Database User Name, Database Password, Port (hvis applikation) osv. Hvert programmeringssprog har sin egen unikke måde at oprette forbindelse til databaserne og lege med. Database i PHP, ikke så meget af en stor opgave, som vi ser på et programmeringssprog som JAVA. Der er et meget simpelt par linjekode til forbindelse med databasen. På PHP-sproget kan vi oprette databaseforbindelse på en nedenstående måde:

MySQL

Dette fungerer kun med MySQL-databasen. Denne udvidelse følger den gamle traditionelle måde at kommunikere med en database på. Nu har hver kommende PHP-version udskrevet denne tilgang.

MySQLi-udvidelse

Dette fungerer kun med MySQL-databasen, men dette er en forbedret version af MySQL.

BOB

Det fungerer med forskellige databaser. Normalt betragter vi dette som den bedste tilgang ud af disse tre. Denne betragtes som en objektorienteret måde at kommunikere med MySQL-databasen. I det øjeblik vi opretter en forbindelse giver det os objektet til at håndtere det MySQL relaterede.

Eksempler:

Nu er det tid til at se, hvordan vi kan bruge ovennævnte i PHP. Vi går gennem PHP's faktiske kode for at udføre dette job.

PHP MYSQL-forbindelse ved hjælp af MYSQL

$servername = "localhost";
$username = "root";
$password = "";
$link = mysql_connect($servername, $username, $password);
if (!$link) (
die('Connection failed: ' . mysql_error());
)else(
echo "Database Connected successfully"; // in case of success
)

Forbindelsen kan oprettes med succes i den nedre version af PHP. Men hvis vi bruger denne kode, siger den Deprecated: mysql_connect () : MySQL-udvidelsen er udgået og vil blive fjernet i fremtiden: brug i stedet mysqli eller PDO.

Derfor bør vi undgå at bruge denne teknik til at oprette en databaseforbindelse på PHP-sprog til MySQL-databasen.

PHP MYSQL-forbindelse ved hjælp af MYSQLi

Vi kan oprette forbindelsen ved hjælp af MYSQLi på to måder.

MYSQLi Objektorienteret

<_?php
$servername = "localhost";
$username = "root";
$password = "";
// Database Connection Code
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) (
die("Connection failed: " . $conn->connect_error); // in case of error
)else(
echo "Database Connected successfully"; // in case of success
)
?>

Nu har vi $ conn, databaseforbindelsesobjektet. Vi kan bruge dette objekt til al kommunikation til databasen.

// selecting database "test1"
mysqli_select_db($conn, "test1");

Du kan også videregive databasen som et argument på tidspunktet for etablering af forbindelse.

$ conn = nyt mysqli ($ servername, $ brugernavn, $ password, $ databaseName);

MYSQLi-funktion (proceduremæssig) måde

$servername = "localhost";
$username = "root";
$password = "";
// Database Connection Code
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) (
die("Connection failed: " . mysqli_connect_error()); // in case of error
)else(
echo "Database Connected successfully"; // in case of success
)

Vi kan også bruge den anden operation som databaseforbindelse og anden som nævnt ovenfor.

BOB PHP-databaseforbindelse

Igen er dette en objektorienteret måde at databaseforbindelse i PHP. Vi kan bruge forskellige typer databaser med denne tilgang.

$servername = "localhost";
$username = "root";
$password = "";
try (
// Database Connection Code
$conn = new PDO("mysql:host=$servername;dbname=test1", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// in case of success
echo "Connected successfully";
)
catch(PDOException $e)
(
// in case of error
echo "Connection failed: " . $e->getMessage();
)

Nu er spørgsmålet Skal jeg bruge MYSQLi eller BOB

Disse begge er den objektorienterede måde at databaseforbindelse vha PHP. Vi kan betragte dette som en nutid og den fremtidige måde på databaseforbindelsen. Men at vælge ud af disse to handler alt om, hvilken slags behov du har med dit projekt. Hvis der kun er en MySQL-database, kan du gå med MYSQLi. Men i det øjeblik, muligheden for at databasen ændres, fra MySQL til MySQL SERVER eller enhver anden leverandør, er BOB den bedste mulighed. Disse begge metoder understøtter den forberedte erklæring, mens de skriver forespørgsler til databasefunktioner. En forberedt erklæring er en tilgang, vi kan beskytte vores applikation eller databasen mod SQL-injektionsangrebet.

Konklusion

Så hvad er der i dit sind. Efter at have fundet alle de 3 nævnte ovennævnte type databaseforbindelsesteknikker, kom vi til den konklusion, at BOB er den bedste tilgang til at gå videre med. Tanken bag at sætte dette på toppen er, at vi kan bruge denne tilgang til forbindelsen, ikke kun MySQL-databasen, men også den anden database, f.eks. MySQL Server. Vi bør undgå at bruge mysql_connect () for at sikre, at vores kode er holdbar og fremtidsklar.

Anbefalede artikler

Dette er en guide til PHP-databaseforbindelse. Her diskuterer vi, hvordan man forbinder php, PHP MYSQL-forbindelse ved hjælp af MYSQL, PHP MYSQL-forbindelse ved hjælp af MYSQLi, BOB PHP-databaseforbindelse osv. Du kan også se på de følgende artikler for at lære mere -

  1. Sådan forbindes database til PHP?
  2. Fordele ved PHP
  3. Hvordan tilsluttes database i Java?
  4. Hvordan tilsluttes database til MySQL?
  5. PHP rekursiv funktion
  6. Rekursiv funktion i C

Kategori: