当前位置: 首页 > 编程日记 > 正文

PHP简单封装MysqlHelper类

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: ?>

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

相关文章:

python之XML文件解析

python对XML的解析 常见的XML编程接口有DOM和SAX&#xff0c;这两种接口处理XML文件的方式不同&#xff0c;当然使用场合也不同。 python有三种方法解析XML&#xff0c;分别是SAX&#xff0c;DOM&#xff0c;以及ElementTree三种方法。 以下案例依次介绍三种方法&#xff1a; 先…

这句话真他妈经典

研究解决一个问题的时候&#xff0c;通常花百分之二十的时间和精力&#xff0c;就能抓住问题的百分之八十&#xff0c;而为了完善那余下的百分之二十&#xff0c;却往往要花百分之八十的时间和精力 这句话真他妈经典&#xff0c;呵呵 转载于:https://www.cnblogs.com/webcool…

hung-yi lee_p4_Bias And Variance

文章目录本节目的biasvariance结论&#xff08;鱼和熊掌不可得兼&#xff09;如何解决减小bias的方案减小variance的方案对训练集进行处理得到更好的模型本节目的 where does the error come from?&#xff08;为什么最复杂的模型反而Loss函数的值越大&#xff09; error有…

感觉 Data Access Application Block(DAAB) 里也有可能写得不太好的地方

昨天下载了博客园的代码&#xff0c;里面有一个Data\SqlServer.cs我不清楚是不是 MS DAAB 里的原样文件。不过前面有声明如下&#xff1a;////Microsoft Data Access Application Block for .NET 3.0////SqlServer.cs////This file contains the implementations of the AdoHel…

微软压力测试工具 web application stress

WEB服务器的压力测试工具~ 115808 2009年8月1日lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具。它可以用来模拟多个用户操作网站&#xff0c;在程序投入运行时&#xff0c;可以用它来进行程序的测试并得到Web站点的稳定 参数&#xff0c;甚至于可以对一台小型的…

Didn't find class net.oschina.app.AppContext on

原因 你引入的Lib 未打钩 然后在 菜单Project -> Properties -> Java Build Path -> Order & Export, 然后选中你未打钩的, 然后菜单 Project->Clean&#xff0c;然后运行程序即可。转载于:https://blog.51cto.com/12237592/2129523

hung-yi lee_p5-7_Gradient Descent(梯度下降)

原视频地址 https://www.bilibili.com/video/BV1JE411g7XF?p5 文章目录梯度下降是如何优化函数的tips1. 使用Adagrad2. Stochastic Gradient Descent3. Feature Scaling梯度下降理论基础梯度下降的局限性梯度下降是如何优化函数的 前情回顾&#xff1a;损失函数是用来衡量找到…

第九章 9.2 数组的方法(Array Methods)

注&#xff1a;这里只讲解一些 Array() 的最重要的方法。其他更多的参考手册。9.2.1 join() 将所有元素转换为字符串并默认用 "," 连接。可以指定一个附加的参数来自定义分隔符&#xff1a; vara [1, 2, 3];vars a.join(); //s "1,2,3"s a.join(", &…

HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap

http://www.importnew.com/8658.html转载于:https://www.cnblogs.com/passer1991/p/3520563.html

php7+的php-fpm参数配置,注意事项

安装php7的&#xff0c;如果php-fpm的这几个参数设置不当了&#xff0c;会导致php-fpm启动不了&#xff0c;nginx站点不能解析php文件&#xff0c;报404错误。 相关命令&#xff1a;centos7&#xff0c;启动php-fpm&#xff1a; systemctl start php-fpm查看php-fpm是否启动&am…

hung-yi lee_p10_分类/概率生成模型

文章目录研究背景本节目的本节要使用的例子研究过程把分类当成回归来算理想做法找到最佳函数的方法研究成果运用运用过程结果方法改进模型总结讨论为什么选择正态分布模型&#xff1f;关于后验概率的求法之化简与改进猜想一张图总结研究背景 本节目的 Classification:Probabi…

【跃迁之路】【495天】程序员高效学习方法论探索系列(实验阶段252-2018.06.15)...

(跃迁之路)专栏 实验说明 从2017.10.6起&#xff0c;开启这个系列&#xff0c;目标只有一个&#xff1a;探索新的学习方法&#xff0c;实现跃迁式成长实验期2年&#xff08;2017.10.06 - 2019.10.06&#xff09;我将以自己为实验对象。我将开源我的学习方法&#xff0c;方法不断…

wpf+xml实现的一个随机生成早晚餐的小demo

话说每到吃完的时间就发愁&#xff0c;真的不知道该吃什么&#xff0c;然后就想到做一个生成吃什么的小软件&#xff0c;既然这个软件如此的简单&#xff0c;就打算用wpf开发吧&#xff0c;也不用数据库了&#xff0c;直接保存在xml中就可以了 程序整体结构如下图 首先我写了一…

CentOS报错:TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener

问题描述 原因 listener.ora中的ORACLE_HOME错了 解决 这个错误当时是和另一条指令lsnrctl start的错误一起报的&#xff0c;那个已解决&#xff0c;详细做法请各位移步我的另一篇博客 https://blog.csdn.net/weixin_44997802/article/details/109266708

c#数据结构———二叉查找树

using System;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />namespace BinaryTreeLibrary{///创建的是二叉查找树&#xff0c;没有重复的结点值///特点&#xff1a;左支树中任何值都小于父结点值&#xff0c;右结点任何值大于…

Spring事务管理只对出现运行期异常进行回滚

使用spring难免要用到spring的事务管理&#xff0c;要用事务管理又会很自然的选择声明式的事务管理&#xff0c;在spring的文档中说道&#xff0c;spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚&#xff0c;而对检查型异常则不进行回滚操作。那么什么是检查…

struts学习笔记三-国际化

在程序设计领域&#xff0c;人们把能够在无需改写有关代码的前提下&#xff0c;让开发出来的应用程序能够支持多种语言和数据格式的技术称为国际化技术。 国际化简称为 i18n&#xff0c;根据internationalization简化而来。 本地化简称为l10n&#xff0c;根据localization简化而…

TNS-01201: Listener cannot find executable /u01/oracle/bin/extproc for SID orcl Listener failed to

文章目录问题描述原因解决过程结果问题描述 原因 listener.ora文件中ORACLE_HOME的路径错了&#xff0c;导致按照这个路径找不到extproc 解决过程 首先去找ORACLE_HOME的路径 先切换为root用户&#xff08;这样查找时不会有文件夹进不去&#xff09; 输入指令 su root然后…

与技术无关的书单--你可以笑着说有些是“精神鸦片”

??? 转载于:https://www.cnblogs.com/crmhf/p/3823130.html

隐马尔科夫模型HMM(一)HMM模型

2019独角兽企业重金招聘Python工程师标准>>> 隐马尔科夫模型&#xff08;Hidden Markov Model&#xff0c;以下简称HMM&#xff09;是比较经典的机器学习模型了&#xff0c;它在语言识别&#xff0c;自然语言处理&#xff0c;模式识别等领域得到广泛的应用。当然&am…

stella forum v 2.0 的两款主题样式

stella forum v 2.0 的开发工作已经快结束啦&#xff0c;现在我正在加紧努力&#xff0c;想在本周内完成&#xff0c;因为下个星期我可能会不在学校。 下面公开一下我在做的两款主题&#xff0c;第一个是以前v1 版用的经典论坛的样式&#xff0c;而下面的第二款来自一个我很喜欢…

startup mount报错:invalid value given for the diagnostic_dest init.ora parameter

问题描述 解决思路 找到错误控制信息输出路径下的init文件 &#xff08;我的不知道为什么叫做initORCL.ora&#xff09; 将其中的ORACLE_BASE修改为正确路径 解决过程 输入指令 vi /db/app/oracle/product/11.2.0/dbs/initORCL.ora将其中三个涉及到ORACLE_BASE的地方该为正…

java的常用包

java.applet&#xff1a; 包含一些用于创建Java小应用程序的类。运行于html页面中。java.awt &#xff1a;包含一些用于编写与平台无关的图形界面&#xff08;GUI&#xff09;应用程序的类。java.io&#xff1a;包含一些用作输入输出&#xff08;I/O&#xff09;处理的类。java…

jQuery中的 $.ajax的一些方法

1. $(document).ajaxConplete(function(){}) 1.8版本之后&#xff0c;只能绑定到document元素上&#xff1b;1.8版本之前&#xff0c;可以帮到其他元素上 当$.ajax执行完成之后&#xff0c;执行该函数。如果有多个$.ajax请求&#xff0c;就会执行多次&#xff1b;如果有两个或多…

freebsd command

ps -aux netstat -m netstat 1 top pkg_info systat -vm systat -if dmesg netstat -an unix/linux指令集 (简体) (原作者: 农夫) http://www.darkcc.org/fmandarkcc/index.php 转载于:https://www.cnblogs.com/funpower/archive/2005/07/09/189198.html

hung-yi lee_p11_逻辑回归

文章目录step1 Function Setstep2 goodness of a functionstep3 Find the best functionwhy not Logistic Regression Square ErrorDiscriminative v.s. Generative结论&#xff08;判别模型的优势&#xff09;解释-生成模型为何稍逊色生成模型的优势多分类模型逻辑回归的局限…

自定义状态切换按钮

最近在做一个项目&#xff0c;一个界面的按钮UI给画成了这样&#xff08;默认状态是蓝色的然后触摸后变成灰色的&#xff09; UI效果然后本着给低版本系统APP适配的职业素养&#xff08;其实是不想画这种按钮&#xff09;&#xff0c;想让UI兄弟给将图标改成整个按钮效果的图片…

操作SQLite数据库

本文摘自&#xff1a; http://docs.blackberry.com/en/developers/deliverables/25108/Creating_and_deleting_SQLite_databases_1219776_11.jsp 创建和删除 SQLite 数据库 您可以创建临时或永久数据库。 CREATE TABLE 语句可用于创建永久&#xff08;或常规&#xff09;数据库…

刚开始Windows Mobile的开发,请大家多多关照

刚开始学习Windows Mobile的开发&#xff0c;现在正在学习WML和WAP的网站制作&#xff0c;请大家多多关照。转载于:https://www.cnblogs.com/czha2002/archive/2005/07/12/191129.html

STARTUP报错:ORA-00205: error in identifying control file, check alert log for more info

问题描述 startup nomount没有异常 startup mount则出现异常&#xff0c;说明控制文件出错