封装的sqlite3简易操作类
封装的Sqlite3简易操作类,基于Sqlite3扩展写的,用法和前一个Mysql一样。
但是要注意的是,数据库不存在时会自动创建一个,但是自动创建的数据库类型是Sqlite2数据库,这个要注意下。
<?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;
}
}
以上就是封装的Sqlite3简易操作类的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号