Databáze

Databázová vrstva v Háefku toho samozřejmě zvládne velmi mnoho. Její funkcionalita je popsána v několika kapitolách.

  1. Připojení
  2. Výběr dat
  3. Modifikátory
  4. Vložení, úprava
  5. DbTable – třída pro automatizované ukládání dat
  6. DbStructure – třída pro informace o struktuře tabulek

Vlastnosti databázové vrstvy

  • Podpora pro databáze: MySQL (mysql, mysqli), PqSQL
  • Bezpečné escapování
  • Automatické generování formulářů
  • Připojení k databázi, až když je třeba
  • Vytváření vícerozměrné resultu
  • Stránkování

Jednoduché seznámení

Pro jednoduché seznámení uvedeme zde krátký zdrojový kód, pomocí kterého sem připojíme k databázi, vybereme potřebné údaje a ty pak vypíšeme.

db::connect(array(
    'server' => 'localhost',
    'username' => 'hrach',
    'password' => '*****',
));

O všech možnostech vytvoření spojení se dočtete v kapitole Databáze – vytvoření spojení. Nyní jsme již připojení k databázi, takže nám nebrání nic v tom, abychom vybrali data. Pokud vybíráme jeden řádek, použijeme metodu ::fetch(), pokud chceme vrátit jednotlivé řádky v poli (vybíráme více řádků), pak použijeme metodu ::fetchAll().

# fetch one row
$result = db::fetch('select id, username from users order by rand() limit 1');
echo $result->id;
echo $result->username;

# fetch all rows
$users = db::fetchAll('select id, username from users limit 10');
foreach ($users as $user) {
    echo $user->id . ": " . $user->username;
}

Pokud chceme vybrat data pomocí nějaké podmínky, musíme zajistit, aby tento parametr nemohl být zneužit SQL injection. K tomu slouží modifikátory.

$user = db::fetch('select * from users where id = %i', $_GET['id']);
echo $user->id;

Databázová vrstva podporuje celou řadu modifikátorů. Díky nim se již nemusíte bát o bezpečnost svých aplikací.