自己写的一个数据库操作类,现在一直在用,挺方便的。
时间:2008-03-17
来源:互联网
<?
/******************************************
MYSQL数据库简易操作类说明
作者:朱伟宝
email:[email protected]
电话:28631118
简单调用方法:
$dbclass = new dbclass();
$sql="select * from fixcable";
$dbclass->getResult($sql);
$ar=$dbclass->db2array();
各主要方法说明:
getResult($sql) 取得查询结果函数,数据输入类变量Result,$sql为指定的查询语句
freeResult() 释放结果内存
db2field($selectfield="") 取数据库一列数据做成数组,selectfield为列名
db2array() 取数据库数据做成数组
db2row() 取数据库一行数据做成数组
db2value($selectfield="") 取数据库某一值,要求sql语句中返回结果为单一值,$sql为指定的查询语句
******************************************/
class dbclass
{
//下面是成员属性
private $sql; //sql语句
private $Result; //sql查询结果集
//定义一个构造方法
function __construct()
{
$this->sql="";
$this->Result="";
}
//这是一个析构函数,在对象销毁前调用
function __destruct()
{
$this->sql="";
if($this->Result){
$this->freeResult();
}
}
//__get()方法用来获取私有属性
private function __get($property_name)
{
if(isset($this->$property_name))
{
return($this->$property_name);
}else {
return(NULL);
}
}
//__set()方法用来设置私有属性
private function __set($property_name, $value)
{
$this->$property_name = $value;
}
//__isset()方法
private function __isset($nm)
{
return isset($this->$nm);
}
//__unset()方法
private function __unset($nm)
{
unset($this->$nm);
}
/*------------以下为程序出错调用方法-------------*/
function setMustBeHalt($MustBeHalt = false){
$this->MustBeHalt = $MustBeHalt;
}
function getMustBeHalt(){
return $this->MustBeHalt;
}
/* 下面的自己可以定义格式 */
function halt($msg = "未知错误!", $MustBeHalt = 0){
echo $msg;
if($MustBeHalt !== 0 || $this->getMustBeHalt()){
if($this->getTest()){
echo "<pre>";
print_r($this);
echo "</pre>";
}
die();
}
}
/*------------以上为程序出错调用方法-------------*/
function executesql($sqlquerystring) {
[email=$result=@mysql_query($sqlquerystring]$result=@mysql_query($sqlquerystring[/email]) or die("无效语句! <BR> $sqlquerystring <BR>".mysql_error());
return $result;
}
public function getResult($sql){/* 取得查询结果函数,数据输入类变量Result */
$this->sql=$sql;
if($this->sql===""){//sql语句处理
$this->halt("sql语句不能为空!");
return;
}else{
$this->Result = $this->executesql($this->sql);
}
}
function freeResult(){ /* 释放结果内存 */
return mysql_free_result($this->Result);
}
public function db2field($selectfield=""){/* 取数据库一列数据做成数组 */
if($selectfield===""){//选择字段为空处理
$this->halt("选择的字段名不能为空");
return;
}
$pre_list="";
while($rs=mysql_fetch_assoc($this->Result)){
$pre_list .= ",".$rs[$selectfield]."";
}
$pre_list = substr($pre_list,1);
$dblist = explode(",", $pre_list);
return $dblist;
}
public function db2array(){/* 取数据库数据做成数组 */
$datapool=array();
$affrows = mysql_affected_rows();
for($i=0;$i<$affrows;$i++){
$rs=mysql_fetch_assoc($this->Result);
$datapool[$i] = $rs;
}
return $datapool;
}
public function db2row(){/* 取数据库一行数据做成数组 */
$rs=mysql_fetch_assoc($this->Result);
return $rs;
}
public function db2value($selectfield=""){/* 取数据库某一值,要求sql语句中返回结果为单一值 */
if($selectfield===""){//选择字段为空处理
$this->halt("选择的字段名不能为空");
return;
}
$dbvalue="";
$rs=mysql_fetch_assoc($this->Result);
$dbvalue = $rs[$selectfield];
return $dbvalue;
}
function numFields(){ /* 取得结果集中字段的数目 */
return mysql_num_fields($this->Result);
}
function numRows(){ /* 取得结果集中行的数目 */
return mysql_num_rows($this->Result);
}
function escapeString($unescapedString){ /* 转义一个字符串用于 mysql_query */
return mysql_escape_string($unescapedString);
}
function fieldFlags($fieldOffset){ /* 从结果中取得和指定字段关联的标志 */
return mysql_field_flags($this->Result, $fieldOffset);
}
function fieldLen($fieldOffset){ /* 返回指定字段的长度 */
return mysql_field_len($this->Result, $fieldOffset);
}
function fieldName($fieldIndex){ /* 取得结果中指定字段的字段名 */
return mysql_field_name($this->Result, $fieldIndex);
}
function fieldSeek($fieldOffset){ /* 将结果集中的指针设定为制定的字段偏移量 */
return mysql_field_seek($this->Result, $fieldOffset);
}
function fieldTable($fieldOffset){ /* 取得指定字段所在的表名 */
return mysql_field_table($this->Result, $fieldOffset);
}
function fieldType($fieldOffset){ /* 取得结果集中指定字段的类型 */
return mysql_field_type($this->Result, $fieldOffset);
}
}
?>
作者: zhuweibao 发布时间: 2008-03-17


作者: luzhou 发布时间: 2008-03-18
作者: jeccy 发布时间: 2008-04-05
很全
作者: gently 发布时间: 2008-04-05

作者: heixiake 发布时间: 2008-04-08

作者: xhq6880 发布时间: 2008-04-23
作者: fly1983 发布时间: 2008-05-10

作者: wangyl 发布时间: 2008-05-10

封装得有点��嗦
可扩展性不高
不过还是顶下你~ 继续加油哦~
作者: edwardhey 发布时间: 2008-05-13
作者: wydycrtd 发布时间: 2008-05-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28