时时商务社区
标题:
PHP基于单例模式实现的数据库操作基类
[打印本页]
作者:
yj1281
时间:
2018-2-14 05:39
本文实例讲述了PHP基于单例模式实现的数据库操作基类。分享给大家供大家参考,具体如下:
配置文件:
'localhost',
'user'=>'root',
'password'=>'',
'database'=>'test',
)
?>
php 数据库基类:
conn = mysql_connect($db['host'],$db['user'],$db['password']);
if(!mysql_select_db($db['database'],$this->conn)){
echo "失败";
};
mysql_query('set names utf8',$this->conn);
}
public static function getInstance(){
if(is_null(self:
instance)){
self:
instance = new db;
}
return self:
instance;
}
/**
* 查询数据库
*/
public function select($table,$condition=array(),$field = array()){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' and ";
}
$where='where '.$where .'1=1';
}
$fieldstr = '';
if(!empty($field)){
foreach($field as $k=>$v){
$fieldstr.= $v.',';
}
$fieldstr = rtrim($fieldstr,',');
}else{
$fieldstr = '*';
}
self:
sql = "select {$fieldstr} from {$table} {$where}";
$result=mysql_query(self:
sql,$this->conn);
$resuleRow = array();
$i = 0;
while($row=mysql_fetch_assoc($result)){
foreach($row as $k=>$v){
$resuleRow[$i][$k] = $v;
}
$i++;
}
return $resuleRow;
}
/**
* 添加一条记录
*/
public function insert($table,$data){
$values = '';
$datas = '';
foreach($data as $k=>$v){
$values.=$k.',';
$datas.="'$v'".',';
}
$values = rtrim($values,',');
$datas = rtrim($datas,',');
self:
sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})";
if(mysql_query(self:
sql)){
return mysql_insert_id();
}else{
return false;
};
}
/**
* 修改一条记录
*/
public function update($table,$data,$condition=array()){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' and ";
}
$where='where '.$where .'1=1';
}
$updatastr = '';
if(!empty($data)){
foreach($data as $k=>$v){
$updatastr.= $k."='".$v."',";
}
$updatastr = 'set '.rtrim($updatastr,',');
}
self:
sql = "update {$table} {$updatastr} {$where}";
return mysql_query(self:
sql);
}
/**
* 删除记录
*/
public function delete($table,$condition){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' and ";
}
$where='where '.$where .'1=1';
}
self:
sql = "delete from {$table} {$where}";
return mysql_query(self::$sql);
}
public static function getLastSql(){
echo self::$sql;
}
}
$db = db::getInstance();
//$list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password'));
//echo $db->insert('demo',array('name'=>'脚本之家','password'=>'123'));
//echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
echo $db->delete('demo',array('id'=>'2'));
db::getLastSql();
echo "";
?>
更多关于PHP操作数据库相关内容感兴趣的读者可查看本站专题:《
php+mysql数据库操作入门教程
》、《
PHP基于pdo操作数据库技巧总结
》及《
php常见数据库操作技巧汇总
》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:
php单态设计模式(单例模式)实例
浅析php单例模式
PHP单例模式详细介绍
PHP基于单例模式实现的mysql类
php面向对象值单例模式
PHP单例模式是什么 php实现单例模式的方法
php单例模式的简单实现方法
php设计模式之单例模式代码
PHP基于单例模式编写PDO类的方法
PHP设计模式之工厂模式与单例模式
php基于单例模式封装mysql类完整实例
php 单例模式详细介绍及实现源码
PHP单例模式详解及实例代码
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2