首页 > 语言 > PHP > 正文

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

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

这是一很基础的东西我们能过构造函数来实现创建类就自动与mysql服务器进行连接,我们只要设置好 $name,$pass,$table三个变量的值就好了,代码如下:

  1. <?php 
  2.  class ConnectionMySQL{ 
  3.      //主机 
  4.      private $host="localhost"
  5.      //数据库的username 
  6.      private $name="root"
  7.      //数据库的password 
  8.      private $pass=""
  9.      //数据库名称 
  10.      private $table="phptest"
  11.      //编码形式 
  12.      private $ut="utf-8"
  13.  
  14.  
  15.      //构造函数 
  16.      function __construct(){ 
  17.          $this->ut=$ut
  18.          $this->connect(); 
  19.  
  20.      } 
  21.  
  22.      //数据库的链接 
  23.      function connect(){ 
  24.          $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error()); 
  25.          mysql_select_db($this->table,$linkor die("没该数据库:".$this->table); 
  26.          mysql_query("SET NAMES '$this->ut'"); 
  27.      } 
  28.  
  29.      function query($sql$type = '') { 
  30.          if(!($query = mysql_query($sql))) $this->show('Say:'$sql); 
  31.          return $query
  32.      } 
  33.  
  34.      function show($message = ''$sql = '') { 
  35.          if(!$sqlecho $message
  36.          else echo $message.'<br>'.$sql
  37.      } 
  38.  
  39.      function affected_rows() { 
  40.          return mysql_affected_rows(); 
  41.      } 
  42.  
  43.      function result($query$row) { 
  44.          return mysql_result($query$row); 
  45.      } 
  46.  
  47.      function num_rows($query) { 
  48.          return @mysql_num_rows($query); 
  49.      } 
  50.  
  51.      function num_fields($query) { 
  52.          return mysql_num_fields($query); 
  53.      } 
  54.  
  55.      function free_result($query) { 
  56.          return mysql_free_result($query); 
  57.      } 
  58.  
  59.      function insert_id() { 
  60.          return mysql_insert_id(); 
  61.      } 
  62.  
  63.      function fetch_row($query) { 
  64.          return mysql_fetch_row($query); 
  65.      } 
  66.  
  67.      function version() { 
  68.          return mysql_get_server_info(); 
  69.      } 
  70.  
  71.      function close() { 
  72.          return mysql_close(); 
  73.      } 
  74.  
  75.      //向$table表中插入值 
  76.      function fn_insert($table,$name,$value){ 
  77.          $this->query("insert into $table ($name) value ($value)"); 
  78.      } 
  79.      //根据$id值删除表$table中的一条记录 
  80.      function fn_delete($table,$id,$value){ 
  81.          $this->query("delete from $table where $id=$value"); 
  82.          echo "id为"$id." 的记录被成功删除!"
  83.      }//开源代码Vevb.com 
  84.  } 
  85.  
  86. //调用方法 
  87.  
  88.  $db =  new ConnectionMySQL(); 
  89.  
  90.  $db->fn_insert('test','id,name,sex',"'','hongtenzone','M'"); 
  91.  $db->fn_delete('test''id', 1); 
  92.  
  93.  ?> 

这里我要讲述一下关于构造函数,代码如下:

  1. //构造函数 
  2.     function __construct(){ 
  3.         $this->ut=$ut
  4.         $this->connect(); 
  5.  
  6.     } 

这个页面使用了构造函数特别要主要在函数中不要调用数据库连接类了,否则在当前页面会有多连接连接如果访问过大服务器就会出mysql has gone的提法.

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