Jelikož jsou téměř všechny funkce PHPLIB závislé na databázi,
obsahuje knihovna jednotné databázové rozhraní pro přístup k různým
databázovým serverům. Rozhraní můžeme používat buď společně s celou
knihovnou PHPLIB, nebo zcela samostatně. Databázové funkce jsou
soustředěny v souborech začínajících na db_
.
Pokud nepoužíváme PHPLIB, můžeme na začátku skriptu použít příkaz
require "db_mysql.inc"
a využívat rozhraní pro přístup
k MySQL. Pokud místo toho použijeme například require
"db_odbc.inc"
, bude vše rovnou fungovat s libovolnou ODBC
databází.
V souboru je definována třída DB_Sql
. Pro využití
knihovny stačí vytvořit potomka této třídy a pomocí několika členských
proměnných nastavit správné parametry. Musíme správně nastavit hodnoty
následujících čtyř proměnných:
Definice vlastní třídy může vypadat třeba takto:
class DB_IShop extends DB_Sql { var $Host = "localhost"; var $Database = "ishop"; var $User = "phplib"; var $Password = "octopus"; }
Pro vlastní práci s databází si pak musíme vytvořit instanci naší třídy. Pokud pak s databází hodně cvičíme, je výhodné ji pojmenovat co nejkratším názvem.
$q = new DB_IShop;
K dispozici nyní máme několik metod, které nám umožní provádění SQL dotazů a čtení jejich výsledků.
K provedení SQL dotazu slouží metoda query()
:
$q->query("select * from vyrobky");
Metoda next_record()
čte další záznam výsledku a vrací
true
, dokud má co číst. Pro získání obsahu jednotlivých
položek záznamu slouží metoda f()
. Výpis výsledku dotazu
může vypadat třeba takto:
while ($q->next_record()): echo $q->f("nazev"), " ", $q->f("cena"), "<br>\n"; endwhile;
Třída DB_Sql
nabízí mnoho dalších užitečných metod. Za
všechny jmenujme například num_rows()
, která vrací počet
záznamů ve výsledku, nebo affected_rows()
, která vrací
počet záznamů ovlivněných SQL příkazem INSERT
,
UPDATE
nebo DELETE
. Podrobný výčet všech
metod a jejich popis naleznete v originální dokumentaci.