mysql的php编程_php编程,针对MYSQL的操作类

本文介绍了一个PHP类`DbConn`,用于管理MySQL数据库,包括连接、执行SQL、获取查询结果、分页处理、错误处理等功能。通过`Execute`执行SQL语句,`getRs`获取单条记录,`getRsArray`获取所有记录,`getGoPageRs`处理分页,`Quit`关闭连接,`getInsertID`获取插入操作的最后ID。该类适用于PHP数据库交互场景。
摘要由CSDN通过智能技术生成

/*

*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;$inum_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;$inum_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="

-数据库错误


";

$msg.=$errmsg;

echo $msg;

die();

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值