首页 > PHP简单封装MysqlHelper类

PHP简单封装MysqlHelper类

MysqlHelper.class.php

   1:  
   2:  
   3: /**
   4:  * Mysql数据帮助类
   5:  */
   6: class MysqlHelper
   7: { 
   8:     function __construct()
   9:     { 
  10:         if(isset($conn)){ return;}
  11:         //创建连接对象
  12:         $this->conn=@mysql_connect($this->host,$this->uid,$this->pwd);
  13:         if(!$this->conn){ 
  14:             die('连接数据库失败:'.mysql_error());
  15:         }
  16:  
  17:         //选择数据库和设置编码
  18:         mysql_select_db($this->db,$this->conn);
  19:         mysql_query('set names utf8');
  20:     }
  21:  
  22:     private $conn;
  23:     private $host='localhost';
  24:     private $uid='root';
  25:     private $pwd='1234';
  26:     private $db='test2';
  27:  
  28:     /**
  29:      * [execute_dql 执行查询语句]
  30:      * @param [string] $sql [查询语句]
  31:      */
  32:     public function execute_dql($sql)
  33:     { 
  34:         $result = mysql_query($sql,$this->conn) or die('执行DQL语句时出错:'.mysql_error());
  35:         return $result;
  36:     }
  37:  
  38:     /**
  39:      * [execute_dml 执行增删改语句]
  40:      * @param [string] $sql [查询语句]
  41:      * @return [失败返回-1,无影响返回0,成功返回受影响的行数]
  42:      */
  43:     public function execute_dml($sql)
  44:     { 
  45:         $result = mysql_query($sql,$this->conn) or die('执行DML语句时出错:'.mysql_error());
  46:         if(!$result){ 
  47:             return -1; //操作失败
  48:         }else{ 
  49:             return mysql_affected_rows($this->conn);
  50:         }
  51:     }
  52:  
  53:     /**
  54:      * [show_table_data 显示表数据]
  55:      * @param  [string] $tableName [表名]
  56:      * @return [string]            [HTML表格]
  57:      */
  58:     public function show_table_data($tableName)
  59:     { 
  60:         $result = $this->execute_dql("select * from $tableName");
  61:  
  62:         $this->show_table($result);
  63:  
  64:         mysql_free_result($result);
  65:         mysql_close($this->conn);
  66:     }
  67:  
  68:     /**
  69:      * [show_table_info 显示表结构]
  70:      * @param  [string] $tableName [表名]
  71:      * @return [string]            [HTML表格]
  72:      */
  73:     public function show_table_info($tableName)
  74:     { 
  75:         $result = $this->execute_dql("desc $tableName");
  76:  
  77:         $this->show_table($result);
  78:  
  79:         mysql_free_result($result);
  80:         mysql_close($this->conn);
  81:     }
  82:  
  83:     /**
  84:      * [show_table 拼接表格]
  85:      * @param  [resource] $result [结果集]
  86:      * @return [string]         [HTML]
  87:      */
  88:     public function show_table($result)
  89:     { 
  90:         //显示表头信息:
  91:         echo "
数据表:"
.mysql_field_table($result, 0)." 总行数:".mysql_num_rows($result);
  92:         $tableData="";
  93:         $fieldsCount = mysql_num_fields($result);
  94:         for ($i=0; $i <$fieldsCount; $i++) { 
  95:             $tableData.= "
";
  96:         }
  97:         $tableData.="
";
  98:  
  99:         //显示数据信息:
 100:         while ($row = mysql_fetch_object($result)) { 
 101:             $tableData.="
";
 102:             foreach ($row as $value) { 
 103:                 $tableData.="
";
 104:             }
 105:             $tableData.="
";
 106:         }
 107:         $tableData.="
".mysql_field_name($result, $i)."
$value
"
;
 108:  
 109:         echo $tableData;
 110:     }
 111: }
 112:  
 113: ?>

调用示例:

   1:  
   2: header("Content-Type:text/html; charset=utf8");
   3:  
   4: //自定义MysqlHelper的测试与使用
   5: //============================================
   6:  
   7: //引用自定义的MysqlHelper类
   8: require_once "MysqlHelper.class.php";
   9:  
  10: //实例化MysqlHelper对象
  11: $execute = new MysqlHelper();
  12:  
  13: // 增
  14: $sql = "insert into userinfo(uName,uAge,uPwd) values('测试04',18,MD5('1234'));";
  15: // 删
  16: // $sql = "delete from userinfo where id=20";
  17: // 改
  18: // $sql = "update userinfo set uAge=19 where Id=21";
  19:  
  20: //对数据执行DML操作
  21: $returnNum = $execute->execute_dml($sql);
  22: if ($returnNum ==-1) { 
  23:     echo "操作失败 :(";
  24: } else { 
  25:     echo "操作成功:) ".$returnNum."行受影响
";
  26: }
  27:  
  28:  
  29: //显示表信息:
  30: $execute->show_table_info("userinfo");
  31:  
  32: //显示表数据:
  33: $execute->show_table_data("userinfo");
  34:  
  35:  
  36: ?>

转载于:https://www.cnblogs.com/lt-style/p/3511494.html

更多相关:

  • 开发环境使用phpstudy 编辑器用sublime 数据库navicat 需要下载composer 先配置好本地域名,然后需要我们将资源引入到项目里面 下载地址www.layui.com. layui框架有很多我们后台开发需要的控件,帮助我们高效完成后台搭建。 先创建我们的入口文件admins.php,接着我们在a...

  • php 如果在类中定义变量,在类的方法中调用时应该加上$this-> .     class ClassName {private $a = 333;function __construct(){$this->a = 2222;}public function bbb($value=''){echo $this->a;} } $b...

  • 今天我们来看UrlRule.php

  • 【数据对象映射模式】 是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作。例如在代码中 new 一个对象,使用数据对象映射模式就可以将对象的一些操作比如设置一些属性,就会自动保存到数据库,跟数据库中表的一条记录对应起来。   【代码实现】 在代码中实现数据对象映射模式,我们将实现一个 ORM(对象关系映射 Objec...

  • Spec: TS36.211 - Table 5.7.1-2...

  • 阿里云介绍: 1. 下载安装包。作为阿里主要的数据传输工具Datax,阿里已经完全开源到github上面了。下载地址(https://github.com/alibaba/DataX)。 2. 安装环境: JDK(1.6以上,推荐1.6)Python(推荐Python2.6.X)Apache Maven 3.x (Compile D...

  • xmlns xml namespaces 参考 http://www.w3school.com.cn/tags/tag_prop_xmlns.asp http://www.w3school.com.cn/xml/xml_namespaces.asp

    这是一行
  • 1.创建数据库:create database database-name 2.删除数据库:delete database database-name 3.选择:select * from table where ... 4.插入:insert into table(field1,field2) values(value1,value...