本文实例讲述了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 self();
}
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 = "";
$data = "";
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 "<pre>";
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。