v2.5.2
Giriş yap

PDO return query->execute problemi

umutkorkmaz
412 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.

Cevap yaz
Cevaplar (1)
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. :)