设为首页 收藏本站
查看: 578|回复: 0

[经验分享] php编程,针对MYSQL的操作类

[复制链接]

尚未签到

发表于 2015-11-17 11:06:02 | 显示全部楼层 |阅读模式
  <?php/**PHP管理MYSQL的数据库类使用方法:$dbConn = new DbConn([$数据库名(可选)]);允许返回的方法:Execute($sql)                            //执行SQL语句,没有返回值;getRs($sql)                            //返回查询语句的记录,一条;getRsArray($sql)                        //返回记录集数组;getGoPageRs($sql,$maxline,$offset)    //返回翻页程序所需要的数组;Quit()                                //关闭数据库连接getParameter()                        //返回分页以及排序的参数getInsertID()                            //返回插入的最后一条记录允许返回的属性:$num_rows;                            //执行操作的记录集的数量;$affected_rows                        //执行操作影响的记录数;*/class DbConn{var $servername=&quot;localhost&quot;;       // 数据库连接服务地址var $dbname=&quot;xinwei&quot;;              // 连接数据库名var $username = &quot;root&quot;;            // 登陆用户var $password = &quot;&quot;;                // 登陆密码var $conn;                         // 数据库连接指针var $num_rows;                     // 返回的条目数var $query_id;                     // 执行query命令的指针var $affected_rows;                // 传回query命令所影响的列数目var $insertid;               // 最新插入记录的ID号//下面是和分页程序有关的变量;var $offset;                       //分页偏移量var $maxline = 12;                 //显示行数var $offset;                       //设置偏移量var $tpages;                       //总页数var $total;                        //总记录数function DbConn($dbname=&quot;&quot;){ //构造函数,建立数据库连接,可以指定连接到其他数据库$this->conn = @mysql_connect($this->servername, $this->username, $this->password) or die(mysql_error(&quot;数据库链接失败&quot;));if($dbname!=&quot;&quot;){$this->dbname = $dbname;}if(!mysql_select_db($this->dbname)){$this->getErr(&quot;数据库链接失败&quot;);}return $this->conn;}function Quit(){    //关闭数据库连接mysql_close($this->conn);}function Execute($sql){$query_id = $this->query($sql);$this->affected_rows=mysql_affected_rows($this->conn);$this->free_result($query_id);}function getRs($sql) {   //只返回一条记录$query_id=$this->query($sql);$returnarray=mysql_fetch_array($query_id);$this->num_rows=mysql_num_rows($query_id);$this->free_result($query_id);return $returnarray;}function getRsArray($sql) {   //只返回所有记录$query_id=$this->query($sql);$this->num_rows=mysql_num_rows($query_id);for($i=0;$i<$this->num_rows;$i++){$returnarray[$i]=mysql_fetch_array($query_id);}$this->free_result($query_id);return $returnarray;}/*** 调用方式,可以设置$maxline显示的条数,也可以不设置,默认是12条记录,* 如果不设置$maxline调用就直接使用 getGopageRs($sql);* 否则需要调用 getGopageRs($sql,$maxline);*/function getGopageRs($sql,$maxline=&quot;&quot;){     //返回翻页程序 需要传递sql语句,每页显示条数,以及偏移量global $page;if(empty($page)){$page=1;}if($maxline!=&quot;&quot;){$this->maxline = $maxline;}$this->offset = ceil(($page-1)*$this->maxline);$query_id=$this->query($sql);$this->total =mysql_num_rows($query_id); //计算出总记录数$this->free_result($query_id);$sql= $sql.&quot; LIMIT &quot;.$this->offset.&quot;,&quot;.$this->maxline;$query_id=$this->query($sql);$this->num_rows=mysql_num_rows($query_id);       //当前页的记录数for($i=0;$i<$this->num_rows;$i++){$returnarray[$i]=mysql_fetch_array($query_id);}$this->free_result($query_id);$this->tpages = ceil($this->total/$this->maxline); //计算总页数return $returnarray;}/***参数列表字符串*/function getParameter(){global $deferentparameter;global $selfvariable;global $page;$parameter = &quot;page=&quot;.$page.$selfvariable.$deferentparameter;return $parameter;}function getInsertID(){ //得到最新插入的一条记录的自增ID号$this->insertid = mysql_insert_id();if (!$this->insertid){$this->getErr(&quot;无法得到最新的记录ID!&quot;);}return $this->insertid; }function query($sql){   // 执行queyr指令$this->query_id=@mysql_query($sql,$this->conn);if(!$this->query_id){$this->getErr(&quot;错误的SQL语句: &quot;.$sql);}return $this->query_id;}function num_rows($queryid) { //返回记录数$this->num_rows = mysql_num_rows($queryid);return $this->num_rows;}function free_result($query_id){  // 释放query资源@mysql_free_result($query_id);}function getErr($errmsg)  // 数据库出错,无法连接成功{$msg=&quot;<h3>-数据库错误</h3><br>&quot;;$msg.=$errmsg;echo $msg;die();}}?>
             版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140252-1-1.html 上篇帖子: php开发客服系统源码(持久连接+轮询+反向ajax) 下篇帖子: ubuntu 安装 nginx+php5 fast-cgi
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表