PHP SqLite
Elofurdul hogy olyan tarhelyre kell fejleszteni ahol nincsen klasszikus adatbazis,de szuksegunk lenne ra. Van aki ilyenkor fajl-ban tarolja a szukseges adatokat de en azt nem tartom tul gyors es jo megoldasnak, foleg hogy php5 ota alapbol rendelkezesunkre all az sqlite is.
Mi is az sqlite? Ez egy c alapu egyszeru adatbazis szerver ami egy adatbazisfajlba ir es onnan olvas. Hasznalat nem sokban kulonbozik a tobbi relacios adatbazistol,viszont vannak limitacioi.
Hasznalhatjuk klasszikus modon fuggvenyekkel is, vagy objektumkozpontu-an is. En az utobbit fogom bemutatni.
Nezzuk akkor hogyan is mukodik:
$db = new SQLiteDatabase('test.db');
Ezzel megnyitjuk a test.db adatbazis fajtl ha van hozza jogunk, ha nincs akkor allitsuk at hogy legyen. Ha a fajl nem letezik akkor a program letrehozza. Tehat most letrehoztunk egy ures adatbazist. Keszitsunk egy tablat:
$db = new SQLiteDatabase('test.db');
$db->queryExec("
CREATE TABLE test(
test_mezo_1 INTEGER PRIMARY KEY,
test_mezo_2 INTEGER
);
")
Az sqlite-al ketfele keppen is tudunk lekerdezesek futtatni. Az egyik az queryExec ami olyan lekerdezeshez jo aminek nincs kiolvasott eredmenye. Peldaul tablak letrehozasa,adatok torlese,stb. A masik metodus a query ami barmilyen lekeredezes futtatatasara alkalmas.
A fenti peldaban letrehoztunk a test tablat,ket mezovel. Fontos megjegyezni hogy az sqlite-al az auto increment mezo definialasa nem ugy tortenik mint az mysql-nel hanem itt ha egy integer tipusu,primary key mezonk van, es abba NULL erteket teszuk akkor az automatikusan megnoveli a mezot.
Rakjunk par teszt adatot a tablankba,majd kerdezzuk vissza oket:
$db = new SQLiteDatabase('test.db');
$db->queryExec("insert into test values(1,2)");
$db->queryExec("insert into test values(3,4");
$result = $db->query("select * from test");
while($array = $result->fetch()){
echo $array['test_mezo_1'].' '.$array['test_mezo_2'].'
';
}
Az alapokat mostmar tudjuk, de erdemes meg a tobbi sqlite fuggvenyt/metodust is tanulmanyozni.
Hasznunkra valhat meg a
phpSQLiteAdmin webes adminisztracios eszkoz.