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();
                    }
                }
        }
    ?>
  • 相关阅读:
    element表格添加序号
    ZOJ 3822 Domination(概率dp)
    HDU 3037(Lucas定理)
    HDU 5033 Building(单调栈维护凸包)
    HDU 5037 Frog(贪心)
    HDU 5040 Instrusive(BFS+优先队列)
    HDU 5120 Intersection(几何模板题)
    HDU 5115 Dire Wolf(区间dp)
    HDU 5119 Happy Matt Friends(dp+位运算)
    C++ string详解
  • 原文地址:https://www.cnblogs.com/zhaobijin/p/5813344.html
Copyright © 2011-2022 走看看