이 기사의 예에서는 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数据库程序设计有所帮助。