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.