کلاس کار با دیتابیس با 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(); 

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

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

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال نمایش دادن اطلاعات موجود در دیتابیس Download95 1 634 19-08-2015 ساعت 01:43
آخرین ارسال: Download95
Note عملیات روی اطلاعات واکشی شده از دیتابیس mahbobe.prog 1 478 07-11-2014 ساعت 13:21
آخرین ارسال: Daniel
Note ذخیره و بازیابی اطلاعات در دیتابیس MySQL REza mAX 0 449 03-08-2014 ساعت 10:43
آخرین ارسال: REza mAX
Note php: اتصال اتوماتیک به دیتابیس hasti 8 1,105 07-07-2014 ساعت 12:45
آخرین ارسال: hasti
Note کد اتصال به دیتابیس در php pHp king 0 521 18-05-2014 ساعت 10:11
آخرین ارسال: pHp king
Note مرتب کردن نتیجه کوئری دیتابیس PHP.sec 0 335 07-04-2014 ساعت 15:05
آخرین ارسال: PHP.sec
Note جست و جو در دیتابیس در php PHP.sec 0 374 15-03-2014 ساعت 17:18
آخرین ارسال: PHP.sec
Note تغییر Collation تمام Table های یک دیتابیس SOFTAFZAR 0 464 07-02-2013 ساعت 20:01
آخرین ارسال: SOFTAFZAR
Note مشکل با کاراکترهای فارسی هنگام خواندن اطلاعات از دیتابیس FARZAD 2 1,067 02-02-2013 ساعت 15:12
آخرین ارسال: SOFTAFZAR
Note ایجاد دیتابیس در صورت عدم وجود در PHP BaNNer LorD 1 612 23-01-2013 ساعت 20:24
آخرین ارسال: SOFTAFZAR

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