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

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

WBOY
WBOYOriginal
2016-06-21 09:13:061165Durchsuche


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";
  }   
}

?> 



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP4.0.1的变化(二)Nächster Artikel:PHP4.0.1的变化(一)