通用mysql数据库连接类代码

数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

/*
 * created on 2010-3-8
 * make by:suniteboy
 * my first mysql class
 *
 */

 class mysql{
 private $server   ="";
 private $user     ="";
 private $pwd      ="";
 private $database ="";
 private $linkmode = 1; //连接模式,0表示普通连接,1表示永久连接
 private $conn     = 0;
 private $sql      =""; //sql语句
 private $result   =""; //query查询结果
 private $record   =""; //保存记录

 //============================================
 // 构造函数
 //============================================
 public function __construct($server,$user,$pwd,$database,$charset="utf8",$linkmode=0)
 {
  if(empty ( $server )| empty( $user ) | empty( $database ))
  {
   $this->show_error("连接信息不完整,请检查是否提供了服务器地址,用户名以及连接的数据库信息");
   return 0;
  }
  $this->server = $server;
  $this->user = $user;
  $this->pwd = $pwd;
  $this->database = $database;
  $this->charset = $charset;
  $this->linkmode = $linkmode;
  $this->connect();
 }

 //============================================
 // 连接函数
 //============================================
 public function connect()
 {
  $this->conn = $this->linkmode?mysql_pconnect($this->server,$this->user,$this->pwd):
  mysql_connect($this->server,$this->user,$this->pwd);
  if(!$this->conn)
  {
   $this->show_error('无法连接服务器');
   return 0;
  }

  if(!mysql_select_db($this->database))
  {
   $this->show_error('无法连接数据库'.$this->database);
   return 0;
  }
// $this->query('set names '.$this->charset);
 return $this->conn;

 }
 //============================================
 // mysql查询函数
 //============================================
 public function query($sql)
 {
  if(empty($sql))
  {
   $this->show_error('sql语句为空');
   return 0;
  }
  $this->sql = preg_replace('/ {2,}/',' ',trim($sql));
  $this->result = mysql_query($this->sql,$this->conn);
  if(!$this->result)
  {
   $this->show_error('sql语句错误',true);
   return 0;
  }
  return $this->result;
 }

 //============================================
 // 函数
 //============================================
 public function select_db($dbname)
 {
  return mysql_select_db($dbname);
 }

 public function fetch_array($query,$result_type=mysql_assoc)
 {
  return mysql_fetch_array($query,$result_type);
 }

 public function fetch_row($query)
 {
  return mysql_fetch_row($query);
 }
 //============================================
 // 取得前一次mysql操作所影响到的记录行数
 //============================================
 public function affected_rows()
 {
  return mysql_affected_rows();
 }
 public function num_fields($query)
 {
  return mysql_num_fields($query);
 }

 public function num_rows($query)
 {
  return @mysql_num_rows($query);
 }

 public function insert_id()
 {
  return mysql_insert_id();
 }

 public function close()
 {
  return mysql_close();
 }
 //============================================
 // 从记录中取出一条结果
 //============================================
 public function getone($sql)
 {
  $res = $this->query($sql);
  if($res!==false)
  {
   $row = mysql_fetch_row($res);
   if($row!==false)
   {
    return $row;
   }
   else
   {
    return '';
   }
  }
  else
  {
   return false;
  }
 }

 //============================================
 // 从记录中取出所有结果
 //============================================
 public function getall($sql)
 {
  $res = $this->query($sql);
  if($res!==false)
  {
   $arr = array();
   while($row = mysql_fetch_assoc($res))
   {
    $arr[] = $row;
   }
   return $arr;
  }
  else
  {
   return false;
  }
 }

 //============================================
 // 错误提示函数
 //============================================
 public function show_error($msg='',$sql=false)
 {
  $err = '['.mysql_errno().']'.mysql_error();
  if($sql) $sql='sql语句:'.$this->sql;
  if($msg=='')
  {
   echo $err;
   echo "</br>";
  }
  elseif($sql &&$msg)
  {
   echo $msg;
   echo "</br>";
   echo $sql;
  }
  else
  {
   echo $msg;
   echo "</br>";
  }

 }

 }

时间: 2024-10-22 05:49:02

通用mysql数据库连接类代码的相关文章

mysql 数据库连接类

mysql教程 数据库教程连接类  /*  提供一款简单实用的mysql php教程数据库连接代码哦,如果你正是php 入门者可以进来看看这款数据库代码是不是你要找的吧.  */ class mysql{     private $host;     private $user;     private $pass;     private $dbname;     function __construct($host,$user,$pass,$dbname){         $this->h

一个常用php mysql数据库连接类

 代码如下 复制代码 <?php  class ConnectionMySQL{      //主机      private $host="localhost";      //数据库的username      private $name="root";      //数据库的password      private $pass="";      //数据库名称      private $table="phptest&qu

一款实用的php mysql数据库连接类

 本款数据库连接类,他会自动加载sql防注入功能,过滤一些敏感的sql查询关键词,同时还可以增加判断字段 show table status的性质与show table类 获取数据库所有表名等.*/ @ini_set('mysql.trace_mode','off'); class mysql {  public $dblink;  public $pconnect;  private $search = array('/union(s*(/*.**/)?s*)+select/i', '/loa

php mssql 数据库连接类代码(1/2)

php教程 mssql 数据库教程连接类代码  代码如下 复制代码 class DB_Sql {   var $Host     = "";   var $Database = "";   var $User     = "";   var $Password = "";   var $Link_ID  = 0;   var $Query_ID = 0;   var $Record   = array();   var $Ro

php mysql经典数据库连接类代码

   function mysql教程connector() : 类的构造函数,定义和包含配置信息    function connectmysql()   : 打开数据库教程连接    function close()          : 关闭数据库连接            function returnsql($sql)  : 执行一条语句,返回一行的数组    function executesql($sql) : 执行一段查询,返回是否成功    function returndb(

php mysql数据库连接类程序代码

 代码如下 复制代码 class cls_mysql{ var $querynum = 0; var $link; var $histories; var $dbhost; var $dbuser; var $dbpw; var $dbcharset; var $pconnect; var $tablepre; var $time; var $goneaway = 5; function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbchar

超强 php mysql分页类代码

<?phpclass page { var $page_name="page"; var $next_page='>';//下一页 var $pre_page='<';//上一页 var $first_page='<<首页';//首页 var $last_page='尾页>>';//尾页 var $pre_bar='<<';//上一分页条 var $next_bar='>>';//下一分页条 var $format_le

mysql数据库连接类

 代码如下 复制代码 class mysql {       public $sqlserver = 'localhost';       public $sqluser = 'root';       public $sqlpassword = '';       public $database;       public $last_query = '';       private $connection;       private $query_result;       publi

asp.net 数据库连接类代码(SQL)_实用技巧

复制代码 代码如下: public class SqlOperation { #region 属性 /// <summary> /// 保存在Web.config中的连接字符串 /// </summary> protected static string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["hao"].ConnectionString; /