PHP单例模式简单用法示例
发布时间 - 2026-01-11 02:01:08 点击率:次本文实例讲述了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程序设计有所帮助。
# PHP
# 单例模式
# PHP实现单例模式最安全的做法
# php单例模式实现(对象只被创建一次)
# php利用单例模式实现日志处理类库
# PHP最常用的2种设计模式工厂模式和单例模式介绍
# php设计模式 Singleton(单例模式)
# php基于单例模式封装mysql类完整实例
# PHP基于单例模式实现的mysql类
# PHP基于单例模式编写PDO类的方法
# php设计模式 Template (模板模式)
# PHP设计模式之观察者模式(Observer)详细介绍和代码实例
# php设计模式 Proxy (代理模式)
# php设计模式小结
# 程序设计
# 操作技巧
# 相关内容
# 感兴趣
# 给大家
# 更多关于
# 所述
# 面向对象
# 你啦
# 编程技巧
# 讲述了
# mysql_connect
# gt
# user
# host
# __construct
# function
# config
# require_once
# password
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何撰写建站申请书?关键要点有哪些?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Python函数文档自动校验_规范解析【教程】
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
利用python获取某年中每个月的第一天和最后一天
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
JS经典正则表达式笔试题汇总
如何挑选最适合建站的高性能VPS主机?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何在云指建站中生成FTP站点?
5种Android数据存储方式汇总
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
移动端脚本框架Hammer.js
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
如何在IIS管理器中快速创建并配置网站?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
郑州企业网站制作公司,郑州招聘网站有哪些?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
如何在IIS中新建站点并配置端口与物理路径?
免费视频制作网站,更新又快又好的免费电影网站?
如何快速建站并高效导出源代码?
青岛网站建设如何选择本地服务器?
如何用虚拟主机快速搭建网站?详细步骤解析
iOS UIView常见属性方法小结
实例解析angularjs的filter过滤器
php 三元运算符实例详细介绍
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
EditPlus中的正则表达式 实战(1)
如何快速查询域名建站关键信息?
实例解析Array和String方法
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
如何自定义建站之星网站的导航菜单样式?
Python3.6正式版新特性预览
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
三星网站视频制作教程下载,三星w23网页如何全屏?

