php编程,针对MYSQL的操作类

<?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="localhost"; // 数据库连接服务地址 var $dbname="xinwei"; // 连接数据库名 var $username = "root"; // 登陆用户 var $password = ""; // 登陆密码 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=""){ //构造函数,建立数据库连接,可以指定连接到其他数据库 $this->conn = @mysql_connect($this->servername, $this->username, $this->password) or die(mysql_error("数据库链接失败")); if($dbname!=""){ $this->dbname = $dbname; } if(!mysql_select_db($this->dbname)){ $this->getErr("数据库链接失败"); } 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=""){ //返回翻页程序 需要传递sql语句,每页显示条数,以及偏移量 global $page; if(empty($page)){ $page=1; } if($maxline!=""){ $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." LIMIT ".$this->offset.",".$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 = "page=".$page.$selfvariable.$deferentparameter; return $parameter; } function getInsertID(){ //得到最新插入的一条记录的自增ID号 $this->insertid = mysql_insert_id(); if (!$this->insertid){ $this->getErr("无法得到最新的记录ID!"); } return $this->insertid; } function query($sql){ // 执行queyr指令 $this->query_id=@mysql_query($sql,$this->conn); if(!$this->query_id){ $this->getErr("错误的SQL语句: ".$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="<h3>-数据库错误</h3><br>"; $msg.=$errmsg; echo $msg; die(); } } ?>

你可能感兴趣的:(php编程,针对MYSQL的操作类)