SQLite是一種輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù),可以內(nèi)嵌在我們的應(yīng)用程序中一起發(fā)布出去,這樣我們?cè)诓渴饝?yīng)用的時(shí)候,就不需要額外數(shù)據(jù)庫(kù)的支持了。
在php中如果要使用sqlite,只需開(kāi)啟php_sqlite3.dll擴(kuò)展即可,非常方便。下面是我曾經(jīng)的一個(gè)項(xiàng)目中,自己編寫(xiě)的一個(gè)操作SQLite數(shù)據(jù)庫(kù)的工具類。
<?php class SQLiteDB extends SQLite3 { function __construct(){ try { $this->open(dirname(__FILE__).'/../data/sqlite_ecloud.db'); }catch (Exception $e){ die($e->getMessage()); } } } class DBUtils { private static $db; private static function instance(){ if (!self::$db) { self::$db = new SQLiteDB(); } } /** * 創(chuàng)建表 * @param string $sql */ public static function create($sql){ self::instance(); $result = @self::$db->query($sql); if ($result) { return true; } return false; } /** * 執(zhí)行增刪改操作 * @param string $sql */ public static function execute($sql){ self::instance(); $result = @self::$db->exec($sql); if ($result) { return true; } return false; } /** * 獲取記錄條數(shù) * @param string $sql * @return int */ public static function count($sql){ self::instance(); $result = @self::$db->querySingle($sql); return $result ? $result : 0; } /** * 查詢單個(gè)字段 * @param string $sql * @return void|string */ public static function querySingle($sql){ self::instance(); $result = @self::$db->querySingle($sql); return $result ? $result : ''; } /** * 查詢單條記錄 * @param string $sql * @return array */ public static function queryRow($sql){ self::instance(); $result = @self::$db->querySingle($sql,true); return $result; } /** * 查詢多條記錄 * @param string $sql * @return array */ public static function queryList($sql){ self::instance(); $result = array(); $ret = @self::$db->query($sql); if (!$ret) { return $result; } while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ array_push($result, $row); } return $result; } } ?>
調(diào)用方式:
引入DBUtils.php文件,然后通過(guò) DBUtils::方法名 這種形式,即可操作SQLite數(shù)據(jù)庫(kù)了。