本文实例讲述了PHP基于单例模式实现的数据库操作基类。分享给大家供大家参考,具体如下:
配置文件:
<?php
$db = array(
\'host\'=>\'localhost\',
\'user\'=>\'root\',
\'password\'=>\'\',
\'database\'=>\'test\',
)
?>
php 数据库基类:
<?php
class db {
public $conn;
public static $sql;
public static $instance=null;
private function __construct(){
require_once(\'db.config.php\');
$this->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\'=>\'phpstudy\',\'password\'=>\'123\'));
//echo $db->update(\'demo\',array(\"name\"=>\'xxx\',\"password\"=>\'123\'),array(\'id\'=>1));
echo $db->delete(\'demo\',array(\'id\'=>\'2\'));
db::getLastSql();
echo \"<pre>\";
?>
更多关于PHP操作数据库相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文地址:https://www.stayed.cn/item/5045
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我