封装php操作mysql类
时间:2007-12-25
来源:互联网
复制PHP内容到剪贴板
<?php
/*
类名称:database_control
版本号:1.0
功能:对mysql类型数据库进行sql操作。
创建人:Loster
创建时间:12-23-2007
最后修改人:Loster
最后修改时间:12-24-2007
*/
class database_control{//database_control开始
private $host;//主机地址
private $port;//端口号
private $username;//用户名
private $password;//密码
private $dbname;//数据库名
public function __construct(){//构造函数开始
$this->host="localhost";//主机地址
$this->port="3306";//端口地址
$this->username="test";//用户名
$this->password="test";//密码
$this->dbname="test";//数据库名
}//构造函数结束
public function __construct($Re_Host,$Re_Port,$Re_Username,$Re_Passowrd,$Re_Dbname){//重载构造函数
$this->host=$Re_Host;
$this->port=$Re_Port;
$this->username=$Re_Username;
$this->passowrd=$Re_Password;
$this->dbname=$Re_Dbname;
}//重载构造函数结束
public function __destruct(){//析构函数结束
$this->host=null;
$this->port=null;
$this->username=null;
$this->password=null;
$this->dbname=null;
@mysql_close();//关闭与数据库的连接,释放内存
}//析构函数结束
private function connectiondb(){//connectiondb开始
$connect=null;//定义$connect变量
$this->host=$this->host.":".$this->port;//组合主机地址和端口号
$connect=@mysql_connect($this->host,$this->username,$this->password);//打开与mysql数据库的连接,并将返回值附给$connect
if ($connect!=null){//判断$connect
return $connect;//如果不等于null返回$connect
}
else{
return false;//否则返回false
}
}//connectiondb结束
private function selectdb(){//selectdb开始
if ($this->connectiondb()!=false){//调用connectiondb(),并且判断返回值是否为false
return (@mysql_select_db($this->dbname));//如果不为false,返回数据库选择结果
}
else{
return false;//否则返回false
}
}//selectdb结束
public function executesql($sql){//executesql开始
$result=null;//定义$result变量
$return_result=array();//定义$return_result数组变量
$i=null;//定义$i变量
if ($sql!=null && $this->selectdb()!=false){//如果$sql参数不为空并且调用selectdb()函数返回值不为false,if1开始
$result=@mysql_query($sql);//进行数据库查询,并将结果保存在$result中
if ($result==false){//如果$result值为false,if2开始
return false;//返回false,说明查询失败
}//if2结束
else{//否则,else2开始
if ($result==true){//if3开始,如果返回true,说明执行成功
return true;//返回true
}//if3结束
else{//else3开始
$i=0;//定义计数器变量$i=0
while($return_result[$i]=@mysql_fetch_array($result)){//while1开始,遍历返回结果,并将结果保存在$return_result数组中
$i++;//计数器累加
}//while1结束
return $return_result;//返回数组
}//else3结束
}//else2结束
}//if1结束
else{//else1开始
return false;
}//else1结束
}//executesql结束
}//database_ctrl结束
?>
使用:
PHP代码:
<?php
/*
类名称:database_control
版本号:1.0
功能:对mysql类型数据库进行sql操作。
创建人:Loster
创建时间:12-23-2007
最后修改人:Loster
最后修改时间:12-24-2007
*/
class database_control{//database_control开始
private $host;//主机地址
private $port;//端口号
private $username;//用户名
private $password;//密码
private $dbname;//数据库名
public function __construct(){//构造函数开始
$this->host="localhost";//主机地址
$this->port="3306";//端口地址
$this->username="test";//用户名
$this->password="test";//密码
$this->dbname="test";//数据库名
}//构造函数结束
public function __construct($Re_Host,$Re_Port,$Re_Username,$Re_Passowrd,$Re_Dbname){//重载构造函数
$this->host=$Re_Host;
$this->port=$Re_Port;
$this->username=$Re_Username;
$this->passowrd=$Re_Password;
$this->dbname=$Re_Dbname;
}//重载构造函数结束
public function __destruct(){//析构函数结束
$this->host=null;
$this->port=null;
$this->username=null;
$this->password=null;
$this->dbname=null;
@mysql_close();//关闭与数据库的连接,释放内存
}//析构函数结束
private function connectiondb(){//connectiondb开始
$connect=null;//定义$connect变量
$this->host=$this->host.":".$this->port;//组合主机地址和端口号
$connect=@mysql_connect($this->host,$this->username,$this->password);//打开与mysql数据库的连接,并将返回值附给$connect
if ($connect!=null){//判断$connect
return $connect;//如果不等于null返回$connect
}
else{
return false;//否则返回false
}
}//connectiondb结束
private function selectdb(){//selectdb开始
if ($this->connectiondb()!=false){//调用connectiondb(),并且判断返回值是否为false
return (@mysql_select_db($this->dbname));//如果不为false,返回数据库选择结果
}
else{
return false;//否则返回false
}
}//selectdb结束
public function executesql($sql){//executesql开始
$result=null;//定义$result变量
$return_result=array();//定义$return_result数组变量
$i=null;//定义$i变量
if ($sql!=null && $this->selectdb()!=false){//如果$sql参数不为空并且调用selectdb()函数返回值不为false,if1开始
$result=@mysql_query($sql);//进行数据库查询,并将结果保存在$result中
if ($result==false){//如果$result值为false,if2开始
return false;//返回false,说明查询失败
}//if2结束
else{//否则,else2开始
if ($result==true){//if3开始,如果返回true,说明执行成功
return true;//返回true
}//if3结束
else{//else3开始
$i=0;//定义计数器变量$i=0
while($return_result[$i]=@mysql_fetch_array($result)){//while1开始,遍历返回结果,并将结果保存在$return_result数组中
$i++;//计数器累加
}//while1结束
return $return_result;//返回数组
}//else3结束
}//else2结束
}//if1结束
else{//else1开始
return false;
}//else1结束
}//executesql结束
}//database_ctrl结束
?>
复制PHP内容到剪贴板
$result=array();
$result=$mysql_class->executesql("select * from test");
如果需要连接其他数据库,而又不想修改代码:
PHP代码:
$mysql_class=new database_control();$result=array();
$result=$mysql_class->executesql("select * from test");
复制PHP内容到剪贴板
$result=array();
$result=$mysql_class->executesql("select * from test");
本人新手,只是对mysql的sql操作进行了简单的封装。希望对大家有用 PHP代码:
$mysql_class=new database_control("1.1.1.1","3306","test","test","test");//创建对象时重载构造函数$result=array();
$result=$mysql_class->executesql("select * from test");
作者: Loster 发布时间: 2007-12-24
你的构造方法怎么定义了两次啊?php好像没有这种写法的啊
作者: zig 发布时间: 2007-12-24
昵称: diego 时间: 2007-12-26 09:08
精彩,为什么不把第一个构造函数写成php4的呢?然后调用php5的构造函数,岂不是更好呢?
作者: diego 发布时间: 2007-12-26
引用:
原帖由 dongxin1390008 于 2007-12-26 10:27 发表精彩,为什么不把第一个构造函数写成php4的呢?然后调用php5的构造函数,岂不是更好呢?
作者: dongxin1390008 发布时间: 2007-12-26
php5好像不支持重载吧
作者: fyland 发布时间: 2007-12-26
楼主测试过这段代码确实可以跑?
作者: f45828842 发布时间: 2007-12-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28