程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 通用mysql數據庫連接類代碼

通用mysql數據庫連接類代碼

編輯:關於PHP編程

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

 }

 }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved