>  기사  >  백엔드 개발  >  PHP_php 기술로 구현된 SQLite 데이터베이스 연결 클래스

PHP_php 기술로 구현된 SQLite 데이터베이스 연결 클래스

WBOY
WBOY원래의
2016-05-16 20:28:30949검색

이 기사의 예에서는 PHP로 구현된 sqlite 데이터베이스 연결 클래스를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

sqlite 데이터베이스 연결 클래스는 php와 sqlite를 사용하여 연결 작업을 수행하는 코드입니다.

코드 복사 코드는 다음과 같습니다.
*/
아가씨 db_class {
var $conn=널;
var $querynum = 0;
/**
* 데이터베이스 연결, 데이터베이스 연결 식별자를 반환합니다
*
* @param string $ 데이터베이스 서버 호스트
* @param string $ 데이터베이스 서버 계정
* @param string $ 데이터베이스 서버 비밀번호
* @param string $ 데이터베이스 이름
* @param bool $ 지속적인 연결 유지 여부, 1은 지속적인 연결, 0은 비영구적인 연결
* @return link_identifier $dbuser, $dbpw, $dbname,
​*/
함수 연결($dbhost, $pconnect = 0) {
 $오류 = '';
 $func = $pconnect == 1 ? 'sqlite_popen': 'sqlite_open';
 if (!$this -> conn = $func($dbhost, 0666, $error)) {
  $이것 -> 정지($error);
 }
 $this 반환 -> 콘;
}
/**
* SQL 문 실행
*
* @param string $ sql문
* @param string $ 기본값은 비어 있고, 선택 값은 버퍼링되지 않은 캐시
* @param int $cache 수명 주기(초)
* @return 리소스
​*/
함수 쿼리($sql , $type = '' , $expires = 3600, $dbname = '') {
 $오류 = '';
 $func = $type == '버퍼링되지 않음' ? 'sqlite_unbuffered_query': 'sqlite_query';
 if (preg_match("/^s*select/i", $sql)) {
  $query = $func($this -> conn, $sql, sqlite_assoc, $error);
 } 다른 {
  $query = sqlite_exec($this -> conn, $sql, $error);
 } 
 if ($error) {
  $이것 -> 중지($error, $sql);
 }
 $이것 -> 쿼리번호 ;
 $ 쿼리를 반환합니다.

/*
*@param string $ 테이블명
*@param string $ where条件
*@param string $ 열 이름
 
*@param 문자열 $ 제한 수량 
 
*/
function getlist($table , $wheres = "1=1",  $colums = '*' ,$limits = '3000',$orderbys="id desc") {
 $쿼리 = $this -> query("".$table."에서 ".$colums."를 선택합니다. 여기서 ".$wheres."는 ".$orderbys"로 정렬합니다.  제한 ".$limits, $type, $expires, $dbname);
 while($rs = $this -> fetch_array($query)){
  $datas[]=$rs;
  }
 //print_r("".$table."에서 ".$colums."를 선택합니다. 여기서 ".$wheres."는 ".$limits를 제한합니다);
 //print_r($rs);die();
 $이것 -> free_result($쿼리);
 $datas를 반환합니다;
}
함수 add_one($table , $colums ,$data ) {
 //die("".$table." (".$colums.") 값에 삽입(".$data.")");
 $쿼리 = $this -> query("".$table에 삽입합니다." (".$colums.") 값(".$data.")", $type, $expires, $dbname);
 //$this->insert_id()를 반환합니다.
 $ 쿼리를 반환합니다.
}
함수 delist($table , $idarray,$wheres="no") {
 if($wheres=='아니요')
  $쿼리 = $this -> query("delete from ".$table." where id in(".$idarray.")", $type, $expires, $dbname);
 그렇지 않으면
  $쿼리 = $this -> query("".$table."에서 삭제합니다. 여기서 ".$wheres, $type, $expires, $dbname);
 $ 쿼리를 반환합니다.
}
함수 업데이트 목록($table , $updatedata,$idarray) {
 $쿼리 = $this -> query("update ".$table." set ".$updatedata."  where id in(".$idarray.")", $type, $expires, $dbname);
 $ 쿼리를 반환합니다.
}
//max_vote 업데이트 설정 maxtitle='$title',maxban='$ban',
/**
* sql 문을 실행하고 하나의 레코드만 가져옵니다
*
* @param string $ sql문
* @param string $ 기본값은 비어 있고, 선택 값은 버퍼링되지 않은 캐시
* @param int $cache 수명 주기(초)
* @return 배열
​*/
function get_one($sql, $type = '', $expires = 3600, $dbname = '') {
 $쿼리 = $this -> 쿼리($sql, $type, $expires, $dbname);
 $rs = $this -> fetch_array($query);
 $이것 -> free_result($쿼리);
 $rs를 반환합니다;
}
/**
* 결과 집합에서 연관 배열로 행 가져오기
*
* @param 리소스 $ 데이터베이스 쿼리 결과 리소스
* @param string $는 반환 유형을 정의합니다
* @return 배열
​*/
함수 fetch_array($query, $result_type = sqlite_assoc) {
 return sqlite_fetch_array($query, $result_type);
}
/**
* 이전 sqlite 작업의 영향을 받은 레코드 행 수를 가져옵니다
*
* @return int
​*/
함수 영향을 받은_rows() {
 return sqlite_changes($this -> conn);
}
/**
 * 取得结果集中行的数目
 * 
* 결과 세트의 필드 수를 반환합니다
*
* @return int
​* @return int 
*
* @return 배열 예약되어 있으며 일반적으로 사용되지 않습니다.
​*/
function num_rows($query) {
* sqlite에는 해당 기능이 없습니다
​return sqlite_num_rows($query);
}
/**
* 이전 삽입 작업으로 생성된 ID 가져오기
*
* @return int
​*/
function num_fields($query) {
*
* @return 배열은 숫자 인덱스만 가져옵니다
​return sqlite_num_fields($query);
}
/**
 */
함수 결과($query, $row) {
 * 
 * @return 문자열 
 return @sqlite_fetch_all($query, sqlite_assoc);

/**
 * 
 * @return 문자열 
 */
function free_result($query) {
 * 
 * @return int 
 return ;
}
/**
* mysql 튜토리얼 오류 메시지 표시
​*/
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 문자열 */
함수 버전() {return sqlite_libversion();
}
function close() {return sqlite_close($this -> conn);
}
/*** * @return 문자열 */
function error() {return sqlite_error_string($this -> errno);
}
/*** * @return int */
function errno() {return sqlite_last_error($this -> conn);
}
/*** 显示mysql教程错误信息*/
function quit($message = '', $sql = '') {exit("sqlitequery:$sql
sqliteerror:" . $this -> error() . "
sqliteerrno: " . $this -> errno() . "
메시지:$message");
}


希望本文所述对大家的PHP数据库程序设计有所帮助。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.