首页 > 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
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板