您的位置:首页 > 数据库 > MySQL

mysql 数据库操作通用类

2009-05-21 08:39 429 查看
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;
}
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: