$db = new mysqli ("localhost","root","","siparis") or die ("Bağlanamadı");

$db->set_charset ("utf8");


class sistem {

private function benimsorum($vt,$sorgu,$tercih) {

$a =$sorgu;

$b=$vt->prepare($a);

$b->execute();

if ($tercih==1):

return $c=$b->get_result();

endif;

}



function masacek($dv) {

$masalar = "select * from masalar";

$sonuc=$this->benimsorum($dv,$masalar,1);

while ($masason=$sonuc->fetch_assoc()) :
şeklinde devam ediyor ...




Yukardaki kodlar Bir video kursunda bir projeye ait mysqll formatında yazılmış bunu PDO formatına çevirmek istiyorum sistem adlı class içinde iki fonksiyon var
masacek fonksiyonu benimsorum fonksiyonuna 3 paramettre gönderiyor ve yanıtı $sonuc değişkeninde depoluyor

ben şöyle bişe yaptım

function masacek(){

try {
$masa=$this->db->prepare("SELECT * FROM masalar");
$masa->execute();

while ($masason=$masa->fetch(PDO::FETCH_ASSOC)) {


ben db değişkeninide class içine dahil ettiğim için
üstteki fonksiyona sadece
$sonuc=$this->benimsorgum($masalar,1); ifadesini gönderip kullanmak istiyorum ama beceremedim aslında bu haliyle çalışıyor ancak kursta bir kaç yerde üstteki benimsorum adlı fonksiyon kullanılmış ve bunu pdo ile yapmak istiyorum


private function benimsorgum($sorgu,$tercih){
if ($tercih==1) {
$c=$sorgu->execute();
return $c;
}
}

function masacek(){

try {
$masa=$this->db->prepare("SELECT * FROM masalar");

$sonuc=$this->benimsorgum($masalar,1);


while ($masason=$sonuc->fetch(PDO::FETCH_ASSOC)) {


şeklinde deniyorum ama hata alıyorum
while satırı için
Fatal error : Uncaught Error: Call to a member function fetch() on bool in
diyor