数据库操作类
时间:2006-09-26 来源:TX
允许返回的属性:
$num_rows; //执行操作的记录集的数量;
$affected_rows //执行操作影响的记录数;
*/
$dbc = new DbConn();
class DbConn{
var $servername="localhost"; // 数据库连接服务地址
var $dbname="webadmin"; // 连接数据库名
var $username = "root"; // 登陆用户
var $password = "root123"; // 登陆密码
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语句,每页显示条数,以及偏移量
$page=$_REQUEST["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();
}
}
?>
相关阅读 更多 +