Home  >  Article  >  Backend Development  >  SQLite database connection class implemented by PHP, SQLite database connection_PHP tutorial

SQLite database connection class implemented by PHP, SQLite database connection_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:11:49858browse

SQLite database connection class implemented by PHP, sqlite database connection

The example in this article describes the sqlite database connection class implemented by PHP. Share it with everyone for your reference. The specific implementation method is as follows:

The sqlite database connection class uses php and sqlite to perform connection operations. The code is as follows:

Copy code The code is as follows:
*/
lass db_class {
var $conn=null;
var $querynum = 0;
/**
* Database connection, returns the database connection identifier
*
* @param string $ Database server host
* @param string $ Database server account
* @param string $ Database server password
* @param string $ database name
* @param bool $ Whether to maintain a persistent connection, 1 is a persistent connection, 0 is a non-persistent connection
* @return link_identifier $dbuser, $dbpw, $dbname,
​*/
function connect($dbhost, $pconnect = 0) {
 $error = '';
 $func = $pconnect == 1 ? 'sqlite_popen' : 'sqlite_open';
 if (!$this -> conn = $func($dbhost, 0666, $error)) {
  $this -> halt($error);
 }
 return $this -> conn;
}
/**
* Execute sql statement
*
* @param string $ sql statement
* @param string $ Default is empty, optional value is cache unbuffered
* @param int $cache life cycle in seconds
* @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, $sql, $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.")", $type, $expires, $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.")", $type, $expires, $dbname);
 else
  $query = $this -> query("delete from ".$table." where ".$wheres, $type, $expires, $dbname);
 return $query;
}
function updatelist($table , $updatedata,$idarray) {
 $query = $this -> query("update ".$table." set ". $updatedata."  where id in(".$idarray.")", $type, $expires, $dbname);
 return $query;
}
//update max_vote set maxtitle='$title',maxban='$ban',
/**
* Execute sql statement and get only one record
*
* @param string $ sql statement
* @param string $ Default is empty, optional value is cache unbuffered
* @param int $cache life cycle in seconds
* @return array
​*/
function get_one($sql, $type = '', $expires = 3600, $dbname = '') {
 $query = $this -> query($sql, $type, $expires, $dbname);
 $rs = $this -> fetch_array($query);
 $this -> free_result($query);
 return $rs ;
}
/**
* Get a row from the result set as an associative array
*
* @param resource $ Database query result resource
* @param string $ defines return type
* @return array
​*/
function fetch_array($query, $result_type = sqlite_assoc) {
 return sqlite_fetch_array($query, $result_type);
}
/**
* Get the number of record rows affected by the previous sqlite operation
*
* @return int
​*/
function affected_rows() {
 return sqlite_changes($this -> conn);
}
/**
 * 取得结果集中行的数目
 * 
* Return the number of fields in the result set
*
* @return int
​* @return int 
*
* @return array Reserved, generally not used.
​*/
function num_rows($query) {
* There is no corresponding function in sqlite
​return sqlite_num_rows($query);
}
/**
* Get the id generated by the previous insert operation
*
* @return int
​*/
function num_fields($query) {
*
* @return array only gets the numeric index
​return sqlite_num_fields($query);
}
/**
 */
function result($query, $row) {
 * 
 * @return string 
 return @sqlite_fetch_all($query, sqlite_assoc);

/**
 * 
 * @return string 
 */
function free_result($query) {
 * 
 * @return int 
 return ;
}
/**
* Display mysql tutorial error message
​*/
function insert_id() {return sqlite_last_insert_rowid($this -> connid);
}
/***/
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数据库程序设计有所帮助。




http://www.bkjia.com/PHPjc/926870.html

www.bkjia.com

true

http://www.bkjia.com/PHPjc/926870.html
TechArticle

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn