PHP MySQL数据库操作通用类
22:00 2006-11-20 完成
作者:月影 QQ:41096834 email:zhangxugg@163.com
**************************************
没有版权,欢迎转发 但请保留此说明 谢谢 有什么问题,欢迎一起交流 进步
**************************************
说明 凡是本人写的PHP类,都以MFC的类的命名方式为参照 即以大写C开头 第二个字母也大写 其它字母小写 如CUpload,CDb,CImage等
参数说明
使用范例:
//构造一个数据库类,并连连接到info数据库的person表 后面的参数就不用我解释了吧 呵呵~
$db=new CDb("info","10.0.0.254","root","");
//返回查询记录数
//先执行查询
$db->query("select * from person");
//返回记录数量
$n=$db->get_num();
//查询出记录集
$rs=$db->get_rs();
echo $rs("id");
*/
class CDb // 类别表的类定义
{
 var $host; //MySQL服务器
 var $result; //一个查询结果集合
 var $num; //查询记录数 整数
 var $row; //查询结果对象
 var $sql; //查询语句
 var $rs; //查询结果记录集
 var $conn; //数据库连接结果资源
 
 //因为一般MySQL服务器变化的可能性比较小,所以,将数据库及数据表参数放在前面 如有可能,你可以自由调整构造函数参数顺序
 function CDb($database="mysite",$host="127.0.0.1",$usr="root",$psd="key2000")
 {
  $this->host=$host;
  $this->usr=$usr;
  $this->psd=$psd;
  $this->database=$database;
  $this->sql="";
  
  $this->conn=@mysql_connect($host,$usr,$psd) or die("无法连接MySQL服务器.");   
  mysql_select_db($database);
  //echo("连接成功");
 }
 
 function change_table($database) //切换数据库
 {
  $this->database=$database;
  mysql_select_db($this->database);
 }
 
 function query($sql)
 {
  $this->sql=$sql;
  $result=mysql_query($this->sql);
  $this->result=$result;
  return $this->result;
 
 }
 function get_num() //得到查询记录数目
 {
  $this->errdb("Integer CDb::get_num(void)");
  $this->num=mysql_num_rows($this->result);
  return $this->num;
 }
 
 function get_row()  //返回一个记录集对象用箭头引用
 {
  $this->errdb("object row CDb::get_row(void)");
  $this->row=mysql_fetch_object($this->result);
  return $this->row;
 }
 
 function get_rs()  //返回一个记录集数组
 {
  $this->errdb("Array CDb::get_rs(void)");
   $this->rs=mysql_fetch_array($this->result);
   return $this->rs;
 }
 function close()
 {
  mysql_close($this->conn);
 }
 
 //错误捕获
 function errdb($str)
 {
  if(!$this->result)
  {
   echo("在没有执行正确的CDb::query(\$sql) 之前,无法执行 ".$str);
   exit;
  }
 }
 
}

class CUpload  //上传文件类定义
{
 var $file_name;
 var $ext_name;  //副档名
 var $main_name;  //主档名 不包含副档名
 var $tmp_name;
 var $upload_dir; //上传路径
 var $size;  //文件大小
 var $time;  //上传文件时间
 var $exist;

 function CUpload($upload_dir="./")
 {
  $this->upload_dir=$upload_dir;
 }
 function do_upload($str,$opt=0)    //传入上载文件表单名 0表示以原来文件名保存 1表示以时间为名保存
 {            //exist 为0表示忽略已经存在的同名文件 1表示不能忽略
  $s=$_FILES[$str]['name'];
  if(!isset($_FILES[$str])) err("fsda");
  $this->ext_name=substr($s,strrpos($s,"."),strlen($s));
  $this->file_name=$s;
  $this->main_name=substr($s,0,strrpos($s,"."));
  $this->tmp_name=$_FILES[$str]['tmp_name'];
  $this->size=sprintf("%.2f",$_FILES[$str]['size']/1024);
  $this->time=date("ymdhms");
  $this->ext_name=substr($this->file_name,strrpos($this->file_name,"."),strlen($this->file_name));
  
  $dist_name=$this->time.$this->ext_name;
  if($opt==0)
  {
   $dist_name=$this->file_name;
  }
  $this->file_name=$dist_name;
  
  if(move_uploaded_file($this->tmp_name,$this->upload_dir.$dist_name))
   return true;
  else
   return false;
 }
}
?>