zoukankan      html  css  js  c++  java
  • PDO操作

    <?php
        class PDO_Oper
        {
            private $hostname='127.0.0.1;';
                private $username='root';
                private $password='52ebook';
                private $dbname='b_work';
                private $conn;
                private static $fetch_mode;
                function __construct()
                {
                    $this->conn=new PDO('mysql:host='.$this->hostname."dbname=".$this->dbname,$this->username,$this->password);
                    //设置编码
                    $this->conn->exec("set names utf8");
                }
                //查询整个数据集,管理字段数据
                public function QueryAll($sql,$Fetch_mode)
                {
                    $result=$this->conn->query($sql);
                    $result->setFetchMode(self::FetchAction('num'));
                    return $result->fetchAll();
                }
                //执行删改操作
                public function ExecSql($sql)
                {
                    
                    return $this->conn->Exec($sql);
                }
                //数据集模式
                public static function FetchAction($fmode)
                {
                    switch($fmode)
                    {
                        case "assoc";
                        self::$fetch_mode=PDO::FETCH_ASSOC;
                        break;
                        case "num";
                        self::$fetch_mode=PDO::FETCH_NUM;
                        break;
                        case "object";
                        self::$fetch_mode=PDO::FETCH_OBJ;
                        break;
                        case "both";
                        self::$fetch_mode=PDO::FETCH_BOTH;
                        break;
                        default:
                        self::$fetch_mode=PDO::FETCH_ASSOC;
                        break;
                    }
                    return self::$fetch_mode;
                }
                //防止sql注入
                public function PreExecSql($sql,$par_array)
                {
                    try{
                    $pare=$this->conn->prepare($sql);
                     $pare->execute($par_array);
                    }
                    catch(Exception $exception)
                    {
                        echo $exception->getMessage();
                    }
                }
                
                //绑定参数,防止sql注入
                public function PreParamExecSql($sql,$par_array)
                {
                    try{
                    $this->conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
                    $pare=$this->conn->prepare($sql);
                    for($n=0;$n<sizeof($par_array);$n++)
                    {
                        foreach($par_array[$n] as $key=>$value)
                        {
                        echo $key."=>".$value;
                        $pare->bindValue($key,$value);
                        }
                        $pare->execute();
                    } 
                    }
                    catch(PDOException $exception)
                    {
                        echo $exception->getMessage();
                    }
                }
        }
    ?>
  • 相关阅读:
    Python pip 下载速度慢? Windows 设置 国内源,用阿里云国内镜像加速
    Go timer 是如何被调度的?
    Go sync.Pool 浅析
    一次错误使用 go-cache 导致出现的线上问题
    golang面向对象分析
    一文完全掌握 Go math/rand
    这一次,彻底搞懂 Go Cond
    面试题:让你捉摸不透的 Go reslice
    当 Go struct 遇上 Mutex
    这可能是最容易理解的 Go Mutex 源码剖析
  • 原文地址:https://www.cnblogs.com/zhaobijin/p/5813344.html
Copyright © 2011-2022 走看看