数据库封装

PHP数据库操作类

<?php
//------------------------------------------------------------------------------------------
// ※Database()                   构造函数,数据库初始参数
// ※Select()                     查询
// ※GetRows()                    返回查询的记录总数
// ※Insert()                     插入记录
// ※Update()                     更新
// ※Delete()                     删除
// ※Halt()                       中断并显示错误信息*/
//------------------------------------------------------------------------------------------
 define("DATABASETYPE","1");       //定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc
 define("SERVER","localhost");     //Host name or IP address of the database server
 define("DATABASE","dbName");   //要连接的数据库名
 define("USER","tableName");     //用于连接数据库的用户名
 define("PASSWORD","paswd");    //用于连接数据库的密码  
 
class Database{
 var $dbLink;                      //连接句柄
 var $result;                      //查询句柄
 var $insId;                       //Insert()成功返回AUTO_INCREMENT列的值
 var $rows;                        //返回数据数组
 var $numRows;                     //返回数据数目
 var $dbHost, $dbUser, $userPassword, $database;
 var $dbType=DATABASETYPE;
 var $msgFlag = "yes" ;            //yes:show the Mysql message ; no: die by show "Halted."
 function Database($dbHost=SERVER,$dbUser=USER,$userPassword=PASSWORD,$database=DATABASE){
   switch($this->dbType){
     case 1:
      $this->dbLink=@mysql_pconnect($dbHost,$dbUser,$userPassword);// or die("Can't Connect to Remote Host!");
      @mysql_select_db($database,$this->dbLink);// or die ("Can't Connect to Remote Host!");
      break;
    case 2:
      break;   
  }
   return true;
 }
 
 /*SQL:Select() 返回为false无结果*/
 function Select($table,$columns,$condition=1){
  $sql="select $columns from $table where $condition ";  
  //echo $sql."<br>";   
  $this->result=@mysql_query($sql,$this->dbLink);  
  unset($this->rows);
  if($this->result){
   $i=0;
   if(!($this->rows=array("$i"=>@mysql_fetch_array($this->result))))
    return false;
   if(($this->numRows=@mysql_num_rows($this->result))==0)
    return false;
   while($tempRows=@mysql_fetch_array($this->result)){
    array_push($this->rows,$tempRows);
   }      
  }else{
   $this->Halt($sql);
   return false;
  }  
  return true;
 }
 
 /*SQL:GetRows() 返回查询的记录总数*/
 function GetRows($table,$condition=1){
  $sql="select count(1) as count from $table where $condition";  
  //echo $sql."<br>";      
  $this->result=@mysql_query($sql,$this->dbLink);    
  if($this->result){
    $temp=@mysql_fetch_array($this->result);
   $this->numRows=$temp[count];
  }else{
   $this->Halt($sql);
   return false;
  }  
  return $this->numRows;
 }
  
 /*SQL:Insert()*/
  
 function Insert($table,$columns,$values){
  $sql="insert into $table ($columns) values ($values)";
  //echo $sql;
  $this->result=@mysql_query($sql,$this->dbLink);
  if ($this->result)
    $this->insId=@mysql_insert_id($this->dbLink);
   else{
   $this->Halt($sql);
   return false;
  }
  return true;
 }

 /*SQL:Update()*/
  
 function Update($table,$setings,$condition){
  $sql="update $table set $setings where $condition";
  //echo $sql;
  $this->result=@mysql_query($sql,$this->dbLink);
  if ($this->result)
    $this->numRows=@mysql_affected_rows($this->result);
   else{
   $this->Halt($sql);
   return false;
  }
  return true;
 }

 /*SQL:Delete*/
 
 function Delete($table,$condition){
  $sql="delete from $table where $condition";
  $this->result=@mysql_query($sql,$this->dbLink);
  if ($this->result)
     $this->numRows=@mysql_affected_rows($this->result);
   else{
   $this->Halt($sql);
   return false;
  }  
   
  return true;
 }
 
 /*Halt():error message */
 
 function Halt($msg){
  if($this->msgFlag=="yes"){
   printf("<b>Database Query Error:</b> %s<br>/n", $msg);
   printf("<b>MySql Error:</b> %s<br>/n",mysql_error());
  }else
   echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=../include/error.htm'>";//自定一个出错提示文件
    return false;
 }

  switch($db->dbType){
   case 1:
     @mysql_close();    
    break;
  case 2:
     
    break;   
  } 
  $db = new Database();
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值