MysqlHelper.class.php

   1: <?php

   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 "<br/>数据表:".mysql_field_table($result, 0)."  总行数:".mysql_num_rows($result);

  92:         $tableData="<table border='1' cellpadding='5'><tr>";

  93:         $fieldsCount = mysql_num_fields($result);

  94:         for ($i=0; $i <$fieldsCount; $i++) { 

  95:             $tableData.= "<th>".mysql_field_name($result, $i)."</th>";

  96:         }

  97:         $tableData.="</tr>";

  98:  

  99:         //显示数据信息:

 100:         while ($row = mysql_fetch_object($result)) {

 101:             $tableData.="<tr>";

 102:             foreach ($row as $value) {

 103:                 $tableData.="<td>$value</td>";

 104:             }

 105:             $tableData.="</tr>";

 106:         }

 107:         $tableData.="</table>";

 108:  

 109:         echo $tableData;

 110:     }

 111: }

 112:  

 113: ?>

调用示例:

   1: <?php

   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 "操作成功:) <b style='color:red;'>".$returnNum."</b>行受影响<br/>";

  26: }

  27:  

  28:  

  29: //显示表信息:

  30: $execute->show_table_info("userinfo");

  31:  

  32: //显示表数据:

  33: $execute->show_table_data("userinfo");

  34:  

  35:  

  36: ?>

 
 
 
 
 

PHP简单封装MysqlHelper类的更多相关文章

  1. PHP基础封装简单的MysqliHelper类

    MysqliHelper.class.php 1: <?php 2:  3: /** 4: * MysqliHelper 5: * [面向对象的MysqliHelper的简单封装] 6: */ ...

  2. ado.net的简单数据库操作(二)之封装SqlHelperl类

    今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...

  3. 超简单的okhttp封装工具类(上)

      版权声明:转载请注明出处:http://blog.csdn.net/piaomiao8179 https://blog.csdn.net/piaomiao8179/article/details/ ...

  4. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  5. Python之自定义封装一个简单的Log类

    参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...

  6. .net core 中简单封装Dapper.Extensions 并使用sqlsuger自动生成实体类

    引言 由公司需要使用dapper  同时支持多数据库 又需要支持实体类 又需要支持sql 还需要支持事务 所以采用了 dapper + dapperExtensions  并配套 生成实体类小工具的方 ...

  7. swift开发之--简单封装Alamofire请求类以及简单使用SnapKit

    以前在swift3的时候,写过类似的,那个时候还没有很成熟的网络请求类库,在这里,还是衷心感谢大神们的付出! 具体效果如下,先上图: 点击按钮的时候,请求数据,数据结构如下: { ; reason = ...

  8. Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》

    Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676

  9. web自动化框架—BasePage 类的简单封装

    优秀的框架都有属于自己的思想,在搭建web自动化测试框架时,我们通常都遵循 PO(Page Object)思想. 简单理解就是我们会把每个页面看成一个对象,一切皆对象,面向对象编码,这样会让我们更好的 ...

随机推荐

  1. 第三次个人作业——关于K米(Andorid)的案例分析

    第三次个人作业--关于K米(Andorid)的案例分析 1.K米简介 官方网址:http://www.ktvme.com/ 2.评测 2.1.上手体验 带着找bug的心态,兴致勃勃地开始体验 K米.打 ...

  2. Gated Recurrent Unit (GRU)公式简介

    update gate $z_t$: defines how much of the previous memory to keep around. \[z_t = \sigma ( W^z x_t+ ...

  3. Linux下,使用Git管理 dotfiles(配置文件)

    1.管理你的 dotfiles 作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿.这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们 ...

  4. Linux学习一周初体验

    Linux一周初体验一.准备工欲善其事,必先利其器--虚拟机+Redhat7.0构成学习的环境.安装有条不紊.按部就班.......(涉及到的KVM.VNC.Root密码重置等内容,之后再详细了解)注 ...

  5. javascript 代码可读性

    可读性的大部分内容都是和代码缩进相关的,必须保证代码有良好的格式.可读性的另一方面就是注释,一般而言,有如下一些地方需要进行注释 1.1.1 函数和方法 每个函数或方法都应该包含一个注释,描述其目的和 ...

  6. Knockoutjs的环境搭建教程

    最近要在项目中使用Knockoutjs,因此今天就首先研究了一下Knockoutjs的环境搭建,并进行了一个简单的测试,需要的朋友可以了解下 最近要在项目中使用Knockoutjs,因此今天就首先研究 ...

  7. WinForm------BarManager中各种属性设置

    1.offset:红色Tool距离左边Tool的偏移量

  8. JQuery------$.getJSON()方法的使用

    html(../Home/Index.cshtml) <body> <button class="Btn">按钮</button> </b ...

  9. socket+mysql

    测试windows 下 Socket+Mysql调用. 环境: OS:Win7; DBMS:Mysql;  IDE:codeblockS. server: #include <WINSOCK2. ...

  10. PHP----遇到的Session问题

    使用SESSION,当跨页面使用时,会提示错误Cannot modify header information - headers already sent by..., 背景:使用session_s ...