PHP4连接数据库类

 在写程序的过程中,有些不错的代码片段总是事半功倍的。这些积累好了的代码片段或者第三方控件,用起来非常的顺手并且高效,不断的积累也能成为自己的类库。
  这是我最近经常用到的一个php的连接数据库类,感觉非常不错。拿来和大家分享一下。里面还有些高深的php配合mysql的函数没有封装进来,如果你拿去修改成更好了,也希望能分享给我们,呵呵。

php4代码
[codes=php]
/*
*主要用于执行数据库查询,数据库内容分页
*支持现在常用的分页风格
*具体使用请看实例
*/
$dbhost="localhost";
$dbuser="root";
$dbpw="";
$dbname="one";
Class DB   {
  function DB($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0)
  {
    $this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
  }
  function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0)
  {
    $pconnect==0 ? @mysql_connect($dbhost, $dbuser, $dbpw) : @mysql_pconnect($dbhost, $dbuser, $dbpw);
    mysql_errno()!=0 && $this->halt("连接到数据库($pconnect)失败,主机名:$dbhost 用户名:$dbuser");
    if($this->server_info() > '4.1')
    {
      mysql_query("SET NAMES utf8");
      echo $charset;
    }
    if($this->server_info() > '5.0')
    {
      mysql_query("SET sql_mode=''");
    }
    if($dbname)
    {
      if (!@mysql_select_db($dbname))
      {
        $this->halt('不能使用 '.$dbname.' 数据库,请确认数据库名存在');
      }
    }
  }
  function close()
  {
    return mysql_close();
  }
  function select_db($dbname)
  {
    if (!@mysql_select_db($dbname))
    {
      $this->halt('不能使用 '.$dbname.' 数据库,请确认数据库名存在');
    }
  }
  function server_info()
  {
    return mysql_get_server_info();
  }
  function query($SQL,$method='')
  {
    if($method=='once' && function_exists('mysql_unbuffered_query'))
    {
      $query = mysql_unbuffered_query($SQL);
    }
    else
    {
      $query = mysql_query($SQL);
    }
    if (!$query)  $this->halt('数据库执行错误: ' . $SQL);
    return $query;
  }
  function get_one($SQL)
  {
    $query=$this->query($SQL,'once');
    $rs =& mysql_fetch_array($query, MYSQL_ASSOC);
    return $rs;
  }
  function fetch_array($query, $result_type = MYSQL_ASSOC)
  {
    return mysql_fetch_array($query, $result_type);
  }
  function affected_rows()
  {
    return mysql_affected_rows();
  }
  function num_rows($query)
  {
    $rows = mysql_num_rows($query);
    return $rows;
  }
//释放释放结果内存
  function free_result($query)
  {
    return mysql_free_result($query);
  }
//返回上一次insert的ID
  function insert_id()
  {
    $id = mysql_insert_id();
    return $id;
  }
  function halt($msg='')
  {
    require_once('sn_mysql_error.php');
    new DB_ERROR($msg);
  }
}
?>

[/codes]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值