PHP实现的sqlite数据库连接类

本文实例讲述了PHP实现的sqlite数据库连接类。分享给大家供大家参考。具体实现方法如下:

sqlite数据库连接类就是利用了PHPsqlite进行连接操作,代码如下:

代码如下:
conn = $func($dbhost,0666,$error)) { $this -> halt($error); } return $this -> conn; } /** * 执行sql语句 * * @param string $ sql语句 * @param string $ 默认为空,可选值为 cache unbuffered * @param int $ cache以秒为单位的生命周期 * @return resource */ function query($sql,$type = '',$expires = 3600,$dbname = '') { $error = ''; $func = $type == 'unbuffered' ? 'sqlite_unbuffered_query' : 'sqlite_query'; if (preg_match("/^s*select/i",$sql)) { $query = $func($this -> conn,$sql,sqlite_assoc,$error); } else { $query = sqlite_exec($this -> conn,$error); } if ($error) { $this -> halt($error,$sql); } $this -> querynum++; return $query; } /* *@param string $ table名 *@param string $ where条件 *@param string $ colum名

*@param string $ limit数量

/
function getlist($table,$wheres = "1=1",$colums = '
',$limits = '3000',$orderbys="id desc") {
$query = $this -> query("select ".$colums." from ".$table." where ".$wheres." order by ".$orderbys." limit ".$limits,$type,$expires,$dbname);
while($rs = $this -> fetch_array($query)){
$datas[]=$rs;
}
//print_r("select ".$colums." from ".$table." where ".$wheres." limit ".$limits);
//print_r($rs);die();
$this -> free_result($query);
return $datas ;
}
function add_one($table,$colums,$data ) {
//die("insert into ".$table." (".$colums.") values(".$data.")");
$query = $this -> query("insert into ".$table." (".$colums.") values(".$data.")",$dbname);
//return $this->insert_id();
return $query;
}
function delist($table,$idarray,$wheres="no") {
if($wheres=='no')
$query = $this -> query("delete from ".$table." where id in(".$idarray.")",$dbname);
else
$query = $this -> query("delete from ".$table." where ".$wheres,$dbname);
return $query;
}
function updatelist($table,$updatedata,$idarray) {
$query = $this -> query("update ".$table." set ". $updatedata." where id in(".$idarray.")",$dbname);
return $query;
}
//update max_vote set maxtitle='$title',maxban='$ban',
/**

  • 执行sql语句,只得到一条记录
  • @param string $ sql语句
  • @param string $ 默认为空,可选值为 cache unbuffered
  • @param int $ cache以秒为单位的生命周期
  • @return array
    */
    function get_one($sql,$dbname = '') {
    $query = $this -> query($sql,$dbname);
    $rs = $this -> fetch_array($query);
    $this -> free_result($query);
    return $rs ;
    }
    /**
  • 从结果集中取得一行作为关联数组
  • @param resource $ 数据库查询结果资源
  • @param string $ 定义返回类型
  • @return array
    */
    function fetch_array($query,$result_type = sqlite_assoc) {
    return sqlite_fetch_array($query,$result_type);
    }
    /**
  • 取得前一次 sqlite操作所影响的记录行数
  • @return int
    */
    function affected_rows() {
    return sqlite_changes($this -> conn);
    }
    /**
  • 取得结果集中行的数目
  • @return int
    */
    function num_rows($query) {
    return sqlite_num_rows($query);
    }
    /**
  • 返回结果集中字段的数目
  • @return int
    */
    function num_fields($query) {
    return sqlite_num_fields($query);
    }
    /**
  • @return array 备用,一般不用.
    */
    function result($query,$row) {
    return @sqlite_fetch_all($query,sqlite_assoc);
    }
    /**
  • sqlite没有相应函数
    */
    function free_result($query) {
    return ;
    }
    /**
  • 取得上一步 insert 操作产生的 id
  • @return int
    */
    function insert_id() {
    return sqlite_last_insert_rowid($this -> connid);
    }
    /**
  • @return array 只得到数字索引
    */
    function fetch_row($query) {
    return sqlite_fetch_array($query,sqlite_num);
    }
    /*
    /
    function fetch_assoc($query) {
    return $this -> fetch_array($query,sqlite_assoc);
    }
    /**
  • @return string
    */
    function version() {
    return sqlite_libversion();
    }
    function close() {
    return sqlite_close($this -> conn);
    }
    /**
  • @return string
    */
    function error() {
    return sqlite_error_string($this -> errno);
    }
    /**
  • @return int
    */
    function errno() {
    return sqlite_last_error($this -> conn);
    }
    /**
  • 显示MysqL教程错误信息
    */
    function halt($message = '',$sql = '') {
    exit("sqlitequery:$sql
    sqliteerror:" . $this -> error() . "
    sqliteerrno:" . $this -> errno() . "
    message:$message");
    }

希望本文所述对大家的PHP数据库程序设计有所帮助。

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...