• کلاس کار با دیتابیس با PDO
    #1
    Note 
    کد php:
    <?php
    class content
    {
        private 
    $host      DB_HOST;
        private 
    $user      DB_USER;
        private 
    $pass      DB_PASS;
        private 
    $dbname    DB_NAME;
         
        private 
    $stmt;
        private 
    $dbh;
        private 
    $error;
      
        public function 
    __construct(){
            
    // Set DSN
            
    $dsn 'mysql:host=' $this->host ';dbname=' $this->dbname;
            
    // Set options
            
    $options = array(
                    
    PDO::ATTR_PERSISTENT => true,
                    
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                    
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
            
    );
            
    // Create a new PDO instanace
            
    try{
                
    $this->dbh = new PDO($dsn$this->user$this->pass$options);
                 
    /*** close the database connection ***/
            //$this->dbh = null;
     
            
    }
            
    // Catch any errors
            
    catch(PDOException $e){
                
    $this->error $e->getMessage();
            }
        }
         
         
         
         
         
         
    // query
        
    public function query($query){
        
    $this->stmt $this->dbh->prepare($query);
        }  
         
         
        public function 
    bind($param$value$type null){
            if (
    is_null($type)) {
                switch (
    true) {
                    case 
    is_int($value):
                        
    $type PDO::PARAM_INT;
                        break;
                    case 
    is_bool($value):
                        
    $type PDO::PARAM_BOOL;
                        break;
                    case 
    is_null($value):
                        
    $type PDO::PARAM_NULL;
                        break;
                    default:
                        
    $type PDO::PARAM_STR;
                }
            }
            
    $this->stmt->bindValue($param$value$type);
        }
     
     
     
                public function 
    execute(){
                    return 
    $this->stmt->execute();
                }
                 
                 
                 
                 
                public function 
    resultset(){
                    
    $this->execute();
                    return 
    $this->stmt->fetchAll(PDO::FETCH_ASSOC);
                }
                 
                 
                 
                 
                 
                public function 
    single(){
                    
    $this->execute();
                    return 
    $this->stmt->fetch(PDO::FETCH_ASSOC);
                }
                 
                 
                 
                 
                public function 
    rowCount(){
                    return 
    $this->stmt->rowCount();
                }
                 
                 
                 
                public function 
    lastInsertId(){
                    return 
    $this->dbh->lastInsertId();
                }
                 
                 
                 
                 
                public function 
    beginTransaction(){
                        return 
    $this->dbh->beginTransaction();
                }
                     
     
     
                    public function 
    endTransaction(){
                        return 
    $this->dbh->commit();
                    }
                     
                     
                     
                    public function 
    cancelTransaction(){
                        return 
    $this->dbh->rollBack();
                    }
                     
                     
                    public function 
    debugDumpParams(){
                        return 
    $this->stmt->debugDumpParams();
                    }
                     
                     
         
    }
    ?>

    مثال نحوه ی فراخوانی در حلقه

    کد php:
    function slider()
    {
        
    $class=new content;
        
    $qr=$class->query('select * from `tbl_slider` order by `id` desc ');
        
    $row=$class->resultset();
        foreach(
    $row as $key => $value)
        {
            echo
    '
                    <div class="slide">
                        <img src="'
    .inc.'imgsize.php?w=370&h=280&img='.upload.'  '.$row[$key]['pic'].'"  alt="'.$row[$key]['title'].'"/>
                    </div>
            '
    ;
        }


    مثال بدون حلقه

    کد php:
    function slider()
    {
        
    $class=new content;
        
    $qr=$class->query('select * from `tbl_slider`  ');
        
    $row=$class->single();
            echo
    '
                    <div class="slide">
                        <img src="'
    .inc.'imgsize.php?w=370&h=280&img='.upload.'  '.$row['pic'].'"  alt="'.$row['title'].'"/>
                    </div>
            '
    ;


    با استفاده از شرط
    کد php:
    function showproduct()
    {
        
    $class=new content;
        
    $qr=$class->query('select * from `tbl_activity` where  `id`=:id  ');
        
    $class->bind(':id',$_GET['id']);
        
    $row=$class->single();
            echo
    '
                            <h2 class="titleah">'
    .$row['title'].'</h2>
                                            '
    ;


    مثال update
    کد php:
    $class=new content;
            
    $class->query("UPDATE  `tbl_admin` SET
            `fullname` = :fullname,
            `user` = :user,
            `pass` = :pass,
            `superadmin` = :superadmin,
            `pic` = :dir,
             where `aid`=:edit "
    );
             
    $class->bind(':fullname',$fullname);
             
    $class->bind(':user',$user);
             
    $class->bind(':pass',$pass);
             
    $class->bind(':superadmin',$superadmin);
             
    $class->bind(':dir',$dir);
             
    $class->bind(':edit',$edit);
             
    $class->execute(); 

    مثال insert
    کد php:
    $class=new content;
           
    $class->query("INSERT INTO  `tbl_admin`
           (`aid`  ,`user`,`pass`,`fullname`,`superadmin`  ,`pic`)
    VALUES (NULL , ?,?,?,?,?)"
    );
            
    $class->bind(1,!is_null($user) ? $user :'');
            
    $class->bind(2,!is_null($pass) ? $pass :'');
            
    $class->bind(3,!is_null($fullname) ? $fullname :'');
            
    $class->bind(4,!is_null($superadmin) ? $superadmin :'');
            
    $class->bind(5,!is_null($dir) ? $dir :'');
            
    $class->execute(); 


    مثال delete
    کد php:
    $class=new content;
        
    $class->query("delete from `tbl_admin` where `aid`=:aid");
        
    $class->bind(':aid',$aid);
        
    $class->execute(); 

    البته شاید این کلاس خیلی درست و کامل نباشه!

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
      سوال نمایش دادن اطلاعات موجود در دیتابیس Sajjad95 1 1,337 19-08-2015 ساعت 01:43
    آخرین ارسال: Sajjad95
    Note عملیات روی اطلاعات واکشی شده از دیتابیس mahbobe.prog 1 603 07-11-2014 ساعت 13:21
    آخرین ارسال: Daniel
    Note ذخیره و بازیابی اطلاعات در دیتابیس MySQL REza mAX 0 749 03-08-2014 ساعت 10:43
    آخرین ارسال: REza mAX
    Note php: اتصال اتوماتیک به دیتابیس hasti 8 1,578 07-07-2014 ساعت 12:45
    آخرین ارسال: hasti
    Note کد اتصال به دیتابیس در php pHp king 0 856 18-05-2014 ساعت 10:11
    آخرین ارسال: pHp king
    Note مرتب کردن نتیجه کوئری دیتابیس PHP.sec 0 460 07-04-2014 ساعت 15:05
    آخرین ارسال: PHP.sec
    Note جست و جو در دیتابیس در php PHP.sec 0 530 15-03-2014 ساعت 17:18
    آخرین ارسال: PHP.sec
    Note تغییر Collation تمام Table های یک دیتابیس SOFTAFZAR 0 617 07-02-2013 ساعت 20:01
    آخرین ارسال: SOFTAFZAR
    Note مشکل با کاراکترهای فارسی هنگام خواندن اطلاعات از دیتابیس FARZAD 2 1,262 02-02-2013 ساعت 15:12
    آخرین ارسال: SOFTAFZAR
    Note ایجاد دیتابیس در صورت عدم وجود در PHP BaNNer LorD 1 988 23-01-2013 ساعت 20:24
    آخرین ارسال: SOFTAFZAR

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان