2011”N01ŒŽ19“ú

Titanium Desktop ‚Å ƒf[ƒ^ƒx[ƒX ‚ðŽg‚¤iPHP ‚à‚ ‚é‚Å‚æj

‘O’u‚«‚È‚µB
1.‚Æ‚è‚ ‚¦‚¸ DB ‚ðŽg‚Á‚Ä‚Ý‚éB
‚Ü‚¸‚Í ŒöŽ®ƒhƒLƒ…ƒƒ“ƒg ‚ðŽQl‚ɁAƒf[ƒ^ƒx[ƒX‚̍ìï¿½ï¿½Aƒe[ƒuƒ‹‚̍ìï¿½ï¿½Aƒf[ƒ^‚Ì‘}“ü‚ð‚µ‚Ä‚Ý‚Ü‚·B
(Application –¼‚Í AppName, id ‚Í AppID, ƒAƒvƒŠìï¿½ï¿½‚ÉŽg—p‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ð AppDir ‚Æ‚µ‚Ü‚·B)

AppDir/Resources/index.html

script ƒ^ƒO‚Ì’†‚ɂ�}‚ñ‚Ȋ�L‚��‚Å‹Lq‚µ‚Ü‚·B‚�}‚ê‚ð“®‚©‚µ‚Ä‚Ý‚é‚Ɓc
ƒXƒNƒVƒ‡
‚ƁA‚�}‚ñ‚Ȋ�L‚��‚Å DB ‚𑀍ì‚Å‚«‚��‚é‚Ì‚Í•ª‚©‚é‚Ì‚Å‚·‚ªAˆê‘̂ǂ�}‚ʼn½‚ª‹N‚«‚��‚é‚Ì‚Å‚µ‚傤H‚��‚ë‚��‚댩‚��‚­‚Æ
~/Library/Application Support/Titanium/appdata/AppID/AppID_0/0000000000000001.db
‚Ƃ��‚¤ƒtƒ@ƒCƒ‹‚ªo—ˆ‚��‚Ä(Mac ‚̏ꍇ)A’†g‚ðƒ^[ƒ~ƒiƒ‹‚©‚ç”`‚��‚Ä‚Ý‚é‚Æ
sqlite> select * from test;
1|hoge
‚̂悤‚Ƀe[ƒuƒ‹‚̍ìï¿½ï¿½ï¿½Nƒf[ƒ^‚Ì‘}“ü‚Ü‚Å‚ªo—ˆ‚��‚é‚�}‚Æ‚ª•ª‚©‚è‚Ü‚·B

–³Ž–‚É DB ‚ðŽg‚¤‚�}‚Æ‚ªo—ˆ‚��‚Ü‚·‚ªA‰Šú’l‚ð“ü‚ꂽó‘ԂŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð”z•z‚µ‚½‚��ê‡‚É•s•Ö‚Å‚·B‚»‚¤‚��‚Á‚½ê‡‚É‚Í Titanium.Database.openFile() ‚ðŽg‚��‚Ü‚·B
‰º€”õ‚Æ‚µ‚Ä YourApps/Resources/ ‚Ƀ^[ƒ~ƒiƒ‹‚©‚ç testdb ‚ðì‚èA
sqlite> create table test (id INT, name TEXT);
‚ð‚µ‚Ä‚ï¿½N‚«‚Ü‚·B
AppDir/Resources/index.html


ŽÀsŒ‹‰Ê
ƒXƒNƒVƒ‡
‚Ç‚¤‚â‚çƒf[ƒ^‚Ì‘}“ü‚ªo—ˆ‚��‚é‚悤‚Å‚·B‚»‚ê‚ł̓f[ƒ^ƒx[ƒX‚̃tƒ@ƒCƒ‹‚ðŠm”F‚µ‚Ä‚Ý‚Ü‚µ‚傤B
$ sqlite3 AppDir/Resources/testdb
sqlite> select * from test;
‚ð‚â‚Á‚Ä‚Ý‚Ä‚à‰½‚à•Ô‚Á‚Ä‚«‚Ü‚¹‚ñBŽÀÛ‚̃tƒ@ƒCƒ‹‚Í
AppDir/dist/osx/AppName/Contents/Resources/testdb ‚É‚ ‚é‚̂ŁA‚�}‚¿‚ç‚Å
sqlite> select * from test;
2|test
‚�}‚̂悤‚É’†g‚ðŠm”F‚Å‚«‚Ü‚·B

2. PHP ‚©‚ç SQLite ‚ðŽg‚Á‚Ä‚Ý‚é
‚Æ‚è‚ ‚¦‚¸ PHP ƒ}ƒjƒ…ƒAƒ‹’Ê‚è‚ɏ‘‚��‚Ä‚Ý‚Ü‚µ‚傤‚©B
PHP: sqlite_open - Manual
‚ð‚Ù‚ÚƒRƒsƒy‚µ‚Ä

AppDir/Resources/index.php
<?php
if ($db = sqlite_open('testdb2', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}

‚ŁAŽÀsB
ƒXƒNƒVƒ‡
u‚ ‚牜‚³‚ñAo—ˆ‚¿‚á‚��‚Ü‚µ‚½Bv‚®‚ç‚��‚̐�N‚��‚Å‚·‚ñ‚È‚ès‚¯‚Ü‚µ‚½B

‚��‚á‚ ‚¿‚å‚Á‚ÆŽïŒü‚ð‘Ö‚¦‚āA SQLite3 ƒNƒ‰ƒX ‚ðŽg‚Á‚Ä‚Ý‚Ü‚µ‚傤B‚�}‚¿‚ç ‚ÌƒR[ƒh‚ðƒRƒsƒy‚µ‚Ä
AppDir/Resources/index.php
<?php
$db = new SQLite3('test3.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());

ƒXƒNƒVƒ‡
—]—T‚��‚á‚Ȃ��‚Å‚·‚©B‚�}‚¤‚È‚Á‚½‚ç‚à‚¤­‚µ’²Žq‚É‚Ì‚Á‚āc

3. ‚��‚á‚  PEAR ‚ðŽg‚Á‚Ă݂悤c‚ÆŒ¾‚��‚½‚��‚Ƃ�}‚ë‚Å‚·‚ª

‘O‰ñ ‚Ì‹LŽ–‚Å Titanium Desktop ‚Å PEAR ‚ðŽg‚Á‚Ä‚Ý‚Ü‚µ‚½BŽÀ‚͂�}‚�}1”N‚®‚ç‚�� PEAR ‚ɐG‚Á‚Ä‚È‚©‚Á‚½‚Ì‚Å‚¿‚å‚Á‚ÆŽ©M‚Ȃ��‚Ì‚Å‚·‚ªAPEAR::DB ‚́uV‹K‚ÅŽg‚¤‚ȁv‚Ƃ��‚¤˜b‚È‚Ì‚Å PEAR::MDB2 ‚ðŽg‚¤‚�}‚Æ‚É‚È‚è‚Ü‚·B‚µ‚©‚µ MDB2 ‚Ì SQLite ƒhƒ‰ƒCƒo‚ª SQLite2 —p ‚炵‚��‚ñ‚Å‚·‚æ‚ˁB‚Ƃ��‚¤‚�}‚Ƃō¡‰ñ‚ÍŒ©‘—‚èBMDB2_Driver_sqlite3 ‚ðŽ©—Í‚Å‘‚­‚Ƃ��‚¤Žè‚à‚ ‚è‚Ü‚·‚ªA‚»‚ê‚Í‚»‚ê‚Å‚Ü‚½•Ê‚̂�N˜b‚Ƃ��‚¤‚�}‚ƂŁB

/* ‚Ü‚Æ‚ß */
API
ETitanium.Database.open ‚ðŽg‚¤‚ƃfƒtƒHƒ‹ƒg‚Őݒ肳‚ꂽêŠ‚É DB ƒtƒ@ƒCƒ‹‚ªìï¿½ï¿½‚³‚ê‚éB
ETitanium.Database.openFile ‚ðŽg‚¤‚ÆŽ©•ª‚ÅŒˆ‚ß‚½ DB ƒtƒ@ƒCƒ‹‚ðŽg—po—ˆ‚é‚̂ŁA‚ ‚ç‚©‚��‚߃f[ƒ^‚ð‘}“ü‚µ‚�N‚­‚�}‚Æ‚à‰Â”\B

PHP
ESQLite ŠÖ”‚ðŽg—p‚µ‚Ä API ‚ð‰î‚³‚¸‚É DB ‚𑀍ì‚Å‚«‚éB
E“¯—l‚ÉSQLite3 ƒNƒ‰ƒX‚àŽg—p‰Â”\B

‚Ƃ��‚Á‚½‚Ƃ�}‚ë‚Å‚µ‚傤‚©B

/* ’Ç‹L */
DB ‚ðŽg‚Á‚��‚ăR[ƒh‚ð‘‚«‚Ȃ�N‚µ‚čăpƒbƒP[ƒW‚µ‚½ê‡‚ɁAƒpƒbƒP[ƒW’†‚Ì DB ƒtƒ@ƒCƒ‹‚ªÄƒpƒbƒP[ƒW‘O‚Ì‚Ü‚ÜŽc‚Á‚ăGƒ‰[‚ªo‚é‚�}‚Æ‚ª‚ ‚è‚Ü‚·i‚Ƃ��‚¤‚©Žc‚éjBDB ƒtƒ@ƒCƒ‹–¼‚ð‘‚«Š·‚¦‚éA‚à‚µ‚­‚Í‘å’_‚É‘O‰ñ‚̃pƒbƒP[ƒW‚ðíœ‚µ‚Ä‚Ý‚Ä‚à‚��‚��‚©‚à‚µ‚ê‚Ü‚¹‚ñB
ƒ‰ƒxƒ‹Ftitanium PHP sqlite
posted by tbsmcd at 00:00| Comment(1) | TrackBack(0) | ‹Zp | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é
‚�}‚Ì‹LŽ–‚ւ̃Rƒƒ“ƒg

Ž„‚Í‚ ‚È‚½‚ªD‚«‚Ƃ��‚¤‹LŽ–‚¾‚Á‚½B‚»‚ê‚͈̑å‚É‚µ‚Ä—L—p‚ÈŽ„‚Ì‚½‚ß‚É!
Posted by ƒGƒ‹ƒƒXƒoƒbƒO at 2012”N03ŒŽ26“ú 10:59
ƒRƒƒ“ƒg‚ð‘‚­
‚�N–¼‘O:

ƒ[ƒ‹ƒAƒhƒŒƒX:

ƒz[ƒ€ƒy[ƒWƒAƒhƒŒƒX:

ƒRƒƒ“ƒg:

”FØƒR[ƒh: [•K{“ü—Í]


¦‰æ‘œ‚Ì’†‚̕��Žš‚𔼊p‚Å“ü—Í‚µ‚Ä‚­‚¾‚³‚��B

‚�}‚Ì‹LŽ–‚ւ̃gƒ‰ƒbƒNƒoƒbƒN