Konekcija sa bazom podataka preko PDO u PHP-u
Hajde da uspostavimo konekciju sa bazom podataka preko PDO. Za početak, upišimo podatke za pristup u promenljive:
<?php
$host = 'localhost'; // ime hosta (uglavnom je uvek isto)
$db = 'test'; // ime baze podataka
$user = 'root'; // korisničko ime za pristup bazi podataka
$pass = 'root'; // lozinka za pristup bazi podataka
?>
Sada treba da formiramo string
u specijalnom formatu. U ovom stringu
moramo da navedemo tip baze podataka koja se koristi
(uglavnom, 'mysql'),
ime hosta i ime baze podataka:
<?php
$dsn = "mysql:host=$host; dbname=$db; charset=utf8";
?>
Zatim kreiramo niz opcija za PDO, koje ćemo koristiti u toku rada (za sada nemojte previše analizirati):
<?php
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
?>
Sada možemo da izvršimo konekciju sa bazom podataka, koristeći gore definisane promenljive:
<?php
$pdo = new PDO($dsn, $user, $pass, $opt);
?>
Gornji kod će ili uspostaviti konekciju
sa bazom podataka, ili će baciti izuzetak.
Stoga je ispravnije da umotamo konekciju
u try-catch konstrukciju:
<?php
try {
$pdo = new PDO($dsn, $user, $pass, $opt);
echo 'Baza podataka je povezana';
} catch(PDOException $e) {
echo "Konekcija nije uspela: " . $e->getMessage();
}
?>
Kompletan kod će izgledati ovako:
<?php
$host = 'localhost';
$db = 'test';
$user = ''; // korisničko ime za pristup bazi podataka
$pass = ''; // lozinka za pristup bazi podataka
$charset = 'utf8';
$dsn = "mysql:host=$host; dbname=$db; charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $opt);
echo 'Baza podataka je povezana';
} catch(PDOException $e) {
echo "Konekcija nije uspela: " . $e->getMessage();
}
?>
Uspostavite konekciju sa vašom bazom podataka na način opisan u lekciji.