Verbinding met 'n Databasis via PDO in PHP
Kom ons maak 'n verbinding met die databasis via PDO. Eerstens, laat ons die toegangsbesonderhede in veranderlikes stoor:
<?php
$host = 'localhost'; // gasheernaam (gewoonlik altyd so)
$db = 'test'; // databasenaam
$user = 'root'; // gebruikersnaam vir databasetoegang
$pass = 'root'; // wagwoord vir databasetoegang
?>
Nou moet ons 'n string in 'n spesiale formaat saamstel.
In hierdie string moet ons die tipe
gebruikte DB spesifiseer (gewoonlik 'mysql'),
die gasheernaam en die databasenaam:
<?php
$dsn = "mysql:host=$host; dbname=$db; charset=utf8";
?>
Skep dan 'n skikking van PDO-opsies wat ons in die werkproses sal gebruik (moenie vir nou te veel daarop ingaan nie):
<?php
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
?>
Nou kan ons die verbinding met die databasis uitvoer deur die bogenoemde veranderlikes te gebruik:
<?php
$pdo = new PDO($dsn, $user, $pass, $opt);
?>
Die bogenoemde kode sal óf 'n verbinding met die databasis
tot stand bring, óf 'n uitsondering uitwerp.
Daarom is dit korrek om die verbinding
in 'n try-catch struktuur te verpak:
<?php
try {
$pdo = new PDO($dsn, $user, $pass, $opt);
echo 'DB is connected';
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Die volledige kode sal so lyk:
<?php
$host = 'localhost';
$db = 'test';
$user = ''; // gebruikersnaam vir databasetoegang
$pass = ''; // wagwoord vir databasetoegang
$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 'DB is connected';
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Stig 'n verbinding met jou databasis deur die metode wat in die les beskryf word.