zoukankan      html  css  js  c++  java
  • php单例模式封装数据库操作类增删改查

    <?php
    //三私一公 单例
    class Db{
    //数据库连接对象
    private static $instance;
    private static $table_name;
    private $pdo;
    //防止类直接实例化
    private function __construct(){
    $this->pdo = new PDO("mysql:host=127.0.0.1;dbname=test_system", "root", "");
    $this->pdo->query("set names utf8");
    }
    //禁止克隆对象
    private function __clone(){}
    //返回数据库实例对象
    public static function getDb($table_name){
    self::$table_name = $table_name;
    if(!(self::$instance instanceof self)){
    self::$instance = new self;
    }
    return self::$instance;
    }
    function add($table_name, $data){
    $keys = implode(",", array_keys($data));
    $value = "'".implode("','", array_values($data))."'";
    $sql = "insert into $table_name ($keys) values($value) ";
    $r = $this->pdo->exec($sql);
    $this->getErrorInfo();
    return $r;
    }
    function addAll($table_name, $data){
    $keys = implode(",", array_keys($data[0]));

    $arr = [];
    foreach ($data as $k => $v) {
    $arr[] = "('".implode("','", array_values($v))."')";
    }
    $value = implode(",", $arr);

    $sql = "insert into $table_name ($keys) values $value";
    $r = $this->pdo->exec($sql);
    $this->getErrorInfo();
    return $r;

    }
    function update($table_name, $data){
    $id = $data['id'];
    unset($data['id']);
    $arr = [];
    foreach($data as $k=>$v){
    $arr[] = $k."='".$v ."'";
    }
    $str = implode(",", $arr);
    $sql = "update $table_name set $str where id=$id";

    $r = $this->pdo->exec($sql);
    $this->getErrorInfo();
    return $r;
    }

    function select($table_name, $where = '1=1'){
    $sql = "select * from $table_name where $where ";
    $res = $this->pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
    $this->getErrorInfo();
    return $res;

    }
    function find($table_name, $where = '1=1'){
    $sql = "select * from $table_name where $where ";
    $res = $this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC);
    $this->getErrorInfo();
    return $res;
    }
    function getErrorInfo(){
    if($this->pdo->errorCode() != '00000'){
    echo "<pre>";
    print_r($this->pdo->errorInfo());
    exit;
    }
    }
    function delete($id){
    $table_name = self::$table_name;
    if(is_array($id)){
    $id = implode(',', $id);
    }
    $sql = "delete from $table_name where id in ($id)";
    $r = $this->pdo->exec($sql);
    $this->getErrorInfo();
    return $r;
    }

    }
    function M($table_name){
    $db = Db::getDb($table_name);
    return $db;
    };

    $data = [
    [
    'name'=>'雪碧',
    'class_name'=>'3333333',
    ],
    [
    'name'=>'可乐',
    'class_name'=>'3333333',
    ],
    ];


    $r = M('user')->delete(726);
    echo $r;
  • 相关阅读:
    Sort-20191304商苏赫
    Myod-20191304商苏赫
    Linux C语言编程基础-20191304商苏赫
    《Unix/Linux系统编程》第十章学习笔记-20191304商苏赫
    《Unix/Linux系统编程》第九章学习笔记 --20191304商苏赫
    《Unix/Linux系统编程》第一、二章学习笔记,知识点归纳及收获
    20191325学习笔记6
    20191325学习笔记5
    20191325第七八章学习笔记
    2021.10.9测试二20191325
  • 原文地址:https://www.cnblogs.com/bkhdd/p/9458523.html
Copyright © 2011-2022 走看看