当前位置 : 主页 > 网络编程 > PHP >

封装的Sqlite3简易操作类

来源:互联网 收集:自由互联 发布时间:2021-06-30
封装的Sqlite3简易操作类,基于Sqlite3扩展写的,用法和前一个Mysql一样。 但是要注意的是,数据库不存在时会自动创建一个,但是自动创建的数据库类型是Sqlite2数据库,这个要注意下。
封装的Sqlite3简易操作类,基于Sqlite3扩展写的,用法和前一个Mysql一样。
但是要注意的是,数据库不存在时会自动创建一个,但是自动创建的数据库类型是Sqlite2数据库,这个要注意下。

1. [文件] sqlite.class.php ~ 4KB     下载(43)    

<?php
/*
注意细节:实例化对象时传入的是数据库的路径,要是数据库不存在的话会自动创建。
*/
class sqlite extends SQLite3{
	public $url;
	function __construct($url){
		$this->url=$url;
		$this->open($url);
	}
	function check_input($value){
		if (get_magic_quotes_gpc()) {
  			$value = sqlite_escape_string($value);
		}
		return $value;
	}
	function create($table,$name,$type=null){
		$sql = 'CREATE TABLE '.$table.'(';
		if($type==null){
			$arrname = array_keys($name);
			$arrtype = array_values($name);
		}else{
			$arrname = explode("|", $name);
			$arrtype = explode("|", $type);
		}
		for($i=0;$i<count($arrname);$i++){
			if($i==count($arrname)-1){
				$sql = $sql.$arrname[$i]."   ".$arrtype[$i]."";
			}else{
				$sql = $sql.$arrname[$i]."   ".$arrtype[$i].",";
			}
			
		}
		$sql = $sql.');';
		$re = $this->query($sql);
		if($re){
			return true;
		}else{
			return fasle;
		}
	}
	function drop($table){
		$sql = 'DROP TABLE '.$table.';';
		$re = $this->query($sql);
		if($re){
			return true;
		}else{
			return false;
		}
	}
	function insert($table,$name,$value=null){
		$sql = "INSERT INTO ".$table.'(';
		if($value == null){
		$arrname = array_keys($name);
		$arrvalue = array_values($name);
		}else{
		$arrname = explode('|', $name);
		$arrvalue = explode('|', $value);
		}
		for($i=0;$i<count($arrname);$i++){
			if($i==count($arrname)-1){
				$sql = $sql.$arrname[$i];
			}else{
				$sql = $sql.$arrname[$i].",";
			}
		}
		$sql = $sql.")VALUES(";
		for($i=0;$i<count($arrvalue);$i++){
			if($i==count($arrvalue)-1){
				$sql = $sql."'".$arrvalue[$i]."'";
			}else{
				$sql = $sql."'".$arrvalue[$i]."',";
			}
		}
		$sql .=");";
		if($debug){
			echo $sql;
		}
		$re = $this->query($sql);
		if($re){
			return true;
		}else{
			return false;
		}
	}
	function delete($table,$Conditionsname,$Conditionsvalue=null){
		if($Conditionsvalue!=null){
			$sql = "DELETE FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
		}else{
			$sql = "DELETE FROM ".$table." WHERE ";
			$arrname = array_keys($Conditionsname);
			$arrvalue = array_values($Conditionsname);
			for($i=0;$i<count($arrname);$i++){
				if($i==count($arrname)-1){
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
				}else{
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."',";
				}
			}
			$sql.=';';
		}
		$re = $this->query($sql);
		if($re){
			return true;
		}else{
			return false;
		}
	}
	function select($table,$name,$Conditionsname,$Conditionsvalue=null){
		if($Conditionsvalue!=null){
			$sql = "SELECT ".$name." FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
		}else{
			$sql = "SELECT ".$name." FROM ".$table." WHERE ";
			$arrname = array_keys($Conditionsname);
			$arrvalue = array_values($Conditionsname);
			for($i=0;$i<count($arrname);$i++){
				if($i==count($arrname)-1){
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
				}else{
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
				}
			}
			$sql.=';';
		}
		$ret = $this->query($sql);
		$row = $ret->fetchArray(SQLITE3_ASSOC);
		return $row[$name];
	}
	function update($table,$name,$value,$Conditionsname,$Conditionsvalue=null){
		if($Conditionsvalue!=null){
			$sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ".$Conditionsname."='".$Conditionsvalue."';";
		}else{
			$sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ";
			$arrname = array_keys($Conditionsname);
			$arrvalue = array_values($Conditionsname);
			for($i=0;$i<count($arrname);$i++){
				if($i==count($arrname)-1){
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
				}else{
					$sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
				}
			}
			$sql.=';';
		}
		$re = $this->query($sql);
		if($re){
			return true;
		}else{
			return false; 
		}
	}
	function group($table,$name){
		$sql = "SELECT ".$name." FROM ".$table.";";
		$return = array();
		$ret = $this->query($sql);
		while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
			array_push($return, $row[$name]);
		}
		return $return;
	}
	function fecthall($sql){
		$return = array();
		$ret = $this->query($sql);
		while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
			array_push($return, $row);
		}
		return $return;
	}
}
网友评论