v2.5.2
Giriş yap

PDO return query->execute problemi

umutkorkmaz
413 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba,

Soruya nasıl bir başlık vereceğimi bilemedim... Her neyse, kişisel bi projem üzerinde çalışırken veritabanı class'ı oluştururken, ihtiyacım olan bir şey yapmam gerekti.

Öncelikle kodu paylaşayım.

<?php
    public function select(int $fetch_style = 2,bool $multi=true):array 
    {
        $query = $this->connection->prepare($this->query);
        $response = $this->exec($query);
            
        if($multi === false){
            return $response->fetch($fetch_style);
        } elseif($multi === true){
            return $response->fetchAll($fetch_style);
        }
    }
    
    private function exec($query)
    {
        if(strstr($this->query,"?")){
            return $query->execute($this->queryData);
        }else{
            return $query->execute();
        }
        
        /*
            Bu şekilde olması gerekiyormuş.
            
            if(strstr($this->query,"?")){
                $query->execute($this->queryData);
            }else{
                $query->execute();
            }
            return $query;
        
        */
    }
?>

İçinden çıkamadığım durumsa şöyle; exec fonksiyonuna gönderdiğim query parametresinde execute işleminden sonra fetch işlemini gerçekleştirebiliyorum. Ancak exec fonksiyonundan döndürüp select içerisinde bunu fetch işlemi yapmak istediğimde hata alıyorum.

umutkorkmaz
1479 gün önce

Tamamdır, çözdüm :P
Nasıl çözüldüğünü kod içerisinde yorum satırı olarak ekledim. Böyle bir sorunla karşılaşacak kişiler için de belki çözüm olur. :)