> php教程 > php手册 > 新闻发布系统 (例子) 二 dbconn

新闻发布系统 (例子) 二 dbconn

WBOY
풀어 주다: 2016-06-21 09:13:06
원래의
1172명이 탐색했습니다.


class CDBAbstract {
  var $_db_linkid = 0;
  var $_db_qresult = 0;
  var $RowData = array();
  var $NextRowNumber = 0;
  var $RowCount = 0;
  function CDBAbstract () {
    die ("CDBAbstract: Do not create instances of CDBAbstract! Use a subclass.");
  }
  function Open ($host, $user, $pass, $db = "") {
  }   
  function Close () {
  }
  function SelectDB ($dbname) {
  }   
  function Query ($querystr) {
  }
  function SeekRow ($row = 0) {
  }     
  function ReadRow () {
  }
  function _ident () {
    return "CDBAbstract/1.1";
  }
}

class CDBMySQL extends CDBAbstract {
  function CDBMySQL ($host, $user, $pass, $db = "") {
    $this->Open ($host, $user, $pass);
    if ($db != "")  
      $this->SelectDB($db);
  }   
  function Open ($host, $user, $pass) {
    $this->_db_linkid = mysql_connect ($host, $user, $pass);
  }   
  function Close () {
    @mysql_free_result($this->_db_qresult);
    return mysql_close ($this->_db_linkid);
  }   
  function SelectDB ($dbname) {
    if (@mysql_select_db ($dbname, $this->_db_linkid) == true) {
      return 1;     
    }  
    else {
      return 0;
    }    
  }    
  function  Query ($querystr) {
    $result = mysql_query ($querystr, $this->_db_linkid);
    if ($result == 0) {
      return 0;
    }  
    else {
      @mysql_free_result($this->_db_qresult);
      $this->RowData = array();       
      $this->_db_qresult = $result;
      $this->RowCount = @mysql_num_rows ($this->_db_qresult);
      if (!$this->RowCount) {
        // The query was probably an INSERT/REPLACE etc.
        $this->RowCount = 0;
      }  
      return 1;
    }
  }   
  function SeekRow ($row = 0) {
    if ((!mysql_data_seek ($this->_db_qresult, $row)) or ($row > $this->RowCount-1)) {
      printf ("SeekRow: Cannot seek to row %d\n", $row);
      return 0;
    }
    else {
      return 1;
    }
  }     
  function ReadRow () {
    if($this->RowData = mysql_fetch_array ($this->_db_qresult)) {
      $this->NextRowNumber++;
      return 1;
    }
    else {
      return 0;
    }
  }   
  function _ident () {
    return "CDBMySQL/1.1";
  }   
}

?> 



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿