• 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();
                    }
                }
        }
    ?>
  • 相关阅读:
    自适应行高
    IOS各类问题
    KVC
    数据模型的构建及懒加载数据
    NSBundle
    九宫格布局获取行/列索引
    QLineEdit
    QLabel
    排序算法
    SpringBoot配置文件-yaml
  • 原文地址:https://www.cnblogs.com/zhaobijin/p/5813344.html
Copyright © 2020-2023  润新知