首页 > 语言 > PHP > 正文

实用mysql数据库连接类

2024-09-04 11:44:16
字体:
来源:转载
供稿:网友

这是一款PHP与mysql数据库连接文件代码,如果你正在找这样功能的代码,可以进来看看,非常完整文件,实例代码如下:

  1. class mysql { 
  2.  private $db_host;     //主机地址 
  3.  private $db_user;     //用户名 
  4.  private $db_pass;     //连接密码 
  5.  private $db_name;     //名称 
  6.  private $db_charset;  //编码 
  7.  
  8.  private $conn
  9.  private $query_id;   //用于判断sql语句是否执行成功 
  10.  private $result;     //结果集 
  11.  private $num_rows;   //结果集中行的数目,仅对select有效 
  12.  private $insert_id;  //上一步 insert 操作产生的 id 
  13.  
  14. // 构造/析构函数 
  15.  function __construct ($db_host,$db_user,$db_pass,$db_name,$db_charset,$conn) { 
  16.  $this->db_host = $db_host ; 
  17.  $this->db_user = $db_user ; 
  18.  $this->db_pass = $db_pass ; 
  19.  $this->db_name = $db_name ; 
  20.  $this->db_charset = $db_charset ; 
  21.  $this->conn = $conn ; 
  22.  $this->connect(); 
  23.  } 
  24.  
  25.  function __destruct () { 
  26.  @mysql_close($this->conn); 
  27.  } 
  28.  
  29. // 连接/选择数据库 
  30.  public function connect () { 
  31.  if ($this->conn == 'pconn') { 
  32.   @$this->conn = mysql_pconnect($this->db_host,$this->db_user,$this->db_pass); 
  33.  } else { 
  34.   @$this->conn = mysql_connect($this->db_host,$this->db_user,$this->db_pass); 
  35.  } 
  36.  if (!$this->conn) { 
  37.   $this->show_error('数据库-连接失败:用户名或密码错误!'); 
  38.  } 
  39.  if (!@mysql_select_db($this->db_name,$this->conn)) { 
  40.   $this->show_error("数据库-选择失败:数据库 $this->db_name 不可用"); 
  41.  } 
  42.  mysql_query("set names $this->db_charset"); 
  43.  return $this->conn; 
  44.  } 
  45.  
  46. // query方法 
  47.  public function query ($sql) { 
  48.  if ($this->query_id) $this->free_result(); 
  49.  $this->query_id = @mysql_query($sql,$this->conn); 
  50.  if (!$this->query_id) $this->show_error("sql语句 <b>"$sql"</b> 执行时遇到错误"); 
  51.  return $this->query_id; 
  52.  } 
  53.  
  54. // 查询所有 
  55.  public function findall ($table_name) { 
  56.  $this->query("select * from $table_name"); 
  57.  } 
  58.  
  59. // mysql_fetch_array 
  60.  public function fetch_array () { 
  61.  if ($this->query_id) { 
  62.   $this->result = mysql_fetch_array($this->query_id); 
  63.   return $this->result; 
  64.  } 
  65.  } 
  66.  
  67. // ...... 
  68.  
  69.  public function fetch_assoc () { 
  70.  if ($this->query_id) { 
  71.   $this->result = mysql_fetch_assoc($this->query_id); 
  72.   return $this->result; 
  73.  } 
  74.  } 
  75.  
  76.  public function fetch_row () { 
  77.  if ($this->query_id) { 
  78.   $this->result = mysql_fetch_row($this->query_id); 
  79.   return $this->result; 
  80.  } 
  81.  } 
  82.  
  83.  public function fetch_object () { 
  84.  if ($this->query_id) { 
  85.   $this->result = mysql_fetch_object($this->query_id); 
  86.   return $this->result; 
  87.  } 
  88.  } 
  89.  
  90. // 获取 num_rows 
  91.  public function num_rows () { 
  92.  if ($this->query_id) { 
  93.   $this->num_rows = mysql_num_rows($this->query_id); 
  94.   return $this->num_rows; 
  95.  } 
  96.  } 
  97.  
  98. // 获取 insert_id 
  99.  public function insert_id () { 
  100.  return $this->insert_id = mysql_insert_id(); 
  101.  } 
  102.  
  103. // 显示共有多少张表 
  104.  public function show_tables () { 
  105.  $this->query("show tables"); 
  106.  if ($this->query_id) { 
  107.   echo "数据库 $this->db_name 共有 ".$this->num_rows($this->query_id)." 张表<br/>"
  108.   $i = 1; 
  109.   while ($row = $this->fetch_array($this->query_id)){ 
  110.     echo "$i -- $row[0]<br/>"
  111.     $i ++; 
  112.   } 
  113.  } 
  114.  } 
  115.  
  116. // 显示共有多少个数据库 
  117.  public function show_dbs(){ 
  118.  $this->query("show databases"); 
  119.  if ($this->query_id) { 
  120.   echo "共有数据库 ".$this->num_rows($this->query_id)." 个<br/>"
  121.   $i = 1; 
  122.   while ($this->row = $this->fetch_array($this->query_id)){ 
  123.     echo "$i -- ".$this->row[database]."<br />"
  124.     $i ++; 
  125.   } 
  126.  } 
  127.  } 
  128.  
  129. // 删除数据库:返回删除结果 
  130.  public function drop_db ($db_name='') { 
  131.   if ($db_name == '') { 
  132.    $db_name = $this->db_name;//默认删除当前数据库 
  133.   $this->query("drop database $db_name"); 
  134.  }else { 
  135.   $this->query("drop database $db_name"); 
  136.  } 
  137.  if ($this->query_id) { 
  138.   return "数据库 $db_name 删除成功"
  139.  }else { 
  140.   $this->show_error("数据库 $db_name 删除失败"); 
  141.  } 
  142.  
  143. // 删除数据表:返回删除结果 
  144.  public function drop_table ($table_name) { 
  145.  $this->query("drop table $table_name"); 
  146.   if ($this->query_id) { 
  147.   return "数据表 $table_name 删除成功"
  148.  }else { 
  149.   $this->show_error("数据表 $table_name 删除失败"); 
  150.  } 
  151.  
  152.  
  153. // 创建数据库 
  154. public function create_db ($db_name) { 
  155.  $this->query("create database $db_name"); 
  156.  if($this->query_id){ 
  157.   return "数据库 $db_name 创建成功"
  158.  }else { 
  159.   $this->show_error("数据库 $db_name 创建失败"); 
  160.  } 
  161.  
  162. // 获取数据库版本 
  163.  public function get_info(){ 
  164.  echo mysql_get_server_info(); 
  165.  } 
  166.  
  167. // 显示错误信息 
  168.  public function show_error ($msg) { 
  169.  $errinfo = mysql_error(); 
  170.  echo "错误:$msg <br/> 返回:$errinfo<p>"
  171.  }//开源代码Vevb.com 
  172.  
  173. // 释放内存 
  174.  public function free_result () { 
  175.  if ( @mysql_free_result($this->query_id) ) 
  176.  unset ($this->result); 
  177.  $this->query_id = 0; 
  178.  } 
  179.  
  180. // end class

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表