Home  >  Article  >  Backend Development  >  sqlite database connection class_PHP tutorial

sqlite database connection class_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:05:10965browse

sqlite database connection class * The sqlite database connection class uses php and sqlite to perform connection operations.

SQLite database tutorial connection class
* The sqlite database connection class uses the php tutorial to connect to sqlite.

*/
class 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 the 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);
 }

 /**
* Get the number of rows in the result set
*
* @return int
​*/
 function num_rows($query) {
  return sqlite_num_rows($query);
 }

 /**
* Return the number of fields in the result set
*
* @return int
​*/
 function num_fields($query) {
  return sqlite_num_fields($query);
 }

 /**
*
* @return array Reserved, generally not used.
​*/
 function result($query, $row) {
  return @sqlite_fetch_all($query, sqlite_assoc);
 }
 /**
* There is no corresponding function in sqlite
​*/
 function free_result($query) {
  return ;
 }

 /**
* Get the id
generated by the previous insert operation *
* @return int
​*/
 function insert_id() {
  return sqlite_last_insert_rowid($this -> connid);
 }

 /**
*
* @return array only gets the numeric index
​*/
 function fetch_row($query) {
  return sqlite_fetch_array($query, sqlite_num);
 }
 /**
 */
 function fetch_assoc($query) {
  return $this -> fetch_array($query, sqlite_assoc);
 }
 /**
  *
  * @return string
 *
  *
  * @return string
 * @return string

  *

  * @return int
 */
 function version() {

  return sqlite_libversion();

 }

 function close() {
  return sqlite_close($this -> conn);
 }

 /**

* Display mysql tutorial error message

​* * @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");
 }
}

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/630796.htmlTechArticlesqlite 数据库连接类 * sqlite 数据库连接类就是利用了php 与sqlite进行连接操作。 sqlite 数据库教程连接类 * sqlite 数据库连接类就是利用了php教...
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