cniry 0 Odesláno: 25. Prosinec, 2009 Share Odesláno: 25. Prosinec, 2009 Ahoj, dnes vám představím Dibi. Dibi je "databázový layer" (třída pro práci s databázemi). Pokud Začínáte v php a chcete se naučit s MySQL, začněte raději rovnou v dibi. Dibi je výtvor českého PHP guru a specialisty na bezpečnost v PHP Davida Grudla. Rád bych upozornil, že s Dibi se pracuje úplně jinak, než s php funkcí MySQL_Query() Takže začneme s tím, že si stáhneme dibi http://www.dibiphp.com V zip archivu si najdeme soubor: dibi-latest/dibi.minified/dibi.min.php a ten si rozbalíme do složky s naším scriptem. A nejprve se připojíme na MySQL databázi: require "dibi.min.php"; dibi::connect(array( 'driver' => 'mysql', 'host' => 'localhost', 'username' => 'uzivatel', 'password' => 'heslo', 'database' => 'databaze', )); asi jste si vsimli polozky driver=>mysql. Dibi umi praci s 11 ruznymi databazovymi systemy a timhle jedinym parametrem se mezi nimi prepina. Dostupne drivery: firebird , mssql, mssql2005, mysql, mysqli, odbc, oracle, pdo, postgre, sqlite, sqlite3 nas ale zajima mysql. ted zkusime vytahnout nejaka data z tabulky uzivatele. $query = dibi::query('SELECT * FROM [uzivatele]'); no jo, ale jak data vypiseme? Ted se musime rozhodnout jestli mame v planu vypisovat jednu hodnotu, jeden radek, nebo vice radku. //jednu hodnotu: $data = $query->fetchSingle(); echo $data; //jeden radek: $data = $query->fetch(); echo $data->uzivatel; echo $data->heslo; //vice radku: $data = $query->fetchAll(); foreach($data as $radek) { echo $radek->uzivatel; echo $radek->heslo; } Hotova krasa je vkladani dat do tabulky. Dejme tomu ze mame tabulku uzivatele, se sloupci uzivatel, heslo. $sloupce = array( 'uzivatel' => 'pavel', 'heslo' => 'mojesupertajneheslo', ); dibi::query('INSERT INTO [uzivatele]', $sloupce); Koho to chytlo, muze si vyzkouset dalsi ukazky na strankach autora: http://dibiphp.com/cs/quick-start Dibi je opravdu jednoduche, naucite se jej za par dni pri trose snahy. Diky nemu budete mit mnohem bezpecnejsi aplikace protoze s dibi se nemusite bat strasaka jmenem SQL Injection zapomel jsem rict to podstatne, pokud jste v php trosku pokrocilejsi a pracovali jste uz s databazi prez MySQL_Query(), asi vsechna data do tabulky nejprve prohanite prez mysqlescapestring() (nebo meli byste). U Dibi se na tohle vsechno muzete s pohodou vysrat Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now