1. načtení přihlašovacích údajů z ini-souboru:
$server = "websql.in.spsostrov.cz";
$data = parse_ini_file("../spso.mysql.ini");
$username = $data["username"];
$password = $data["password"];
$database = $data["database"];
2. objekt PDO pro práci s databázovými údaji
a) stručný
$pdo = new PDO("mysql:host=$server;dbname=$database", $username, $password);
b) s užitečným nastavením (včetně kódování)
$pdo = new PDO("mysql:host=$server;dbname=$database;charset=utf8mb4",
$username,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // Povolení chybových výjimek
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // Výchozí fetch mód
]);
3. uzavření spojení s databází
$pdo = null;
4. zpracování chyb
try {
// práce s databází
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
5. práce s daty - načtení dat (SELECT)
a) jednoduchý dotaz do databáze, v cyklu načítání po řádcích (plus zobrazení)
$stmt = $pdo->query("SELECT jmeno, prijmeni FROM zamestnanci");
while ($row = $stmt->fetch()) {
echo $row['jmeno'] . " " . $row['prijmeni'] . "
";
}
b) jednoduchý dotaz do databáze, načtení všech dat najednou, v cyklu výpis
$stmt = $pdo->query("SELECT jmeno, prijmeni FROM zamestnanci");
$result = $stmt->fetchAll();
foreach($result as $row) {
echo $row['jmeno'] . " " . $row['prijmeni'] . "
";
}
c) dotaz s přípravou (používat v dotazech s parametry)
$stmt = $pdo->prepare("SELECT jmeno, prijmeni FROM zamestnanci WHERE oddeleni = ?");
$stmt->execute(['IT']);
while ($row = $stmt->fetch()) {
echo $row['jmeno'] . " " . $row['prijmeni'] . "
";
}