function db_getDB()
{
global $DB_URL;
+
+ $dbobject = false;
+ global $BASE_DIR, $DB_HANDLE;
+ if($DB_HANDLE != false) return $DB_HANDLE;
+ try {
+ $dbobject = new PDO("$DB_URL");
+ } catch(PDOException $exep) {
+ error_log("execpt on db open");
+ return false;
+ }
+
+ $DB_HANDLE = $dbobject;
+
+ return $dbobject;
}
function db_createDB()
{
+ // theres not much to do yet with only sqlite support
+}
+
+// all columns end up as text
+function db_createTable($tablename, $ncolumns)
+{
+ $db = db_getDB();
+
+ $sql = "create table \"$tablename\" (\"".$tablename."_id\" INTEGER PRIMARY KEY AUTOINCREMENT";
+ for($i=1; $i <= $ncolumns; $i++) {
+ $colname = "column_$i";
+ $sql .= ", $colname text";
+ }
+ $sql .= ")";
+
+ $db->query($sql);
+}
+
+function db_insertData($tablename)
+{
+
+ $db = db_getDB();
+ $sql = "insert into \"$tablename\" values (NULL";
+ for($i=1; $i < func_num_args(); $i++) {
+ $sql .= ",'".func_get_arg($i)."'";
+ }
+ $sql .=")";
+
+ $db->query($sql);
}
-function db_createTable($tablename)
+function db_selectData($tablename, $column, $value)
{
+ $db = db_getDB();
+
+ $sql = "select * from \"$tablename\" where column_$column like '%$value%'";
+ $res = $db->query($sql);
+ $data = $res->fetchAll();
+ return $data;
+}
+
+function db_deleteData($tablename, $column, $value)
+{
+ $db = db_getDB();
+
+ $sql = "delete from \"$tablename\" where column_$column like '%$value%'";
+ return $db->query($sql);
+
+}
+
+function db_deleteTable($tablename)
+{
+ $db = db_getDB();
+
+ $sql = "drop table $tablename";
+
+ return $db->query($sql);
+}
+
+function db_tableExists($tablename)
+{
+ $db = db_getDB();
+
+ $sql = "select count(*) from sqlite_master where type='table' and name='$tablename'";
+ $res = $db->query($sql);
+
+ $value = $res->fetchColumn();
+
+ if($value == 1) return true;
+ else return false;
}
function db_getTables()
{
+ $db = db_getDB();
+
+ $sql = "select name from sqlite_master where type='table' and name not like 'sqlite_%'";
+ $res = $db->query($sql);
+ return $res->fetchAll();
}
?>
\ No newline at end of file