Doğru Cevap
-
$queries degiskenini $queries = new queries() seklinde yaratmamissin bunun icinde hata aliyorsun.
hata da zaten bunu diyor sana, nesne olmadan nesne metodu cagirmaya calisiyorsun.
Cevaplar
-
Kodunu bu şekilde organize etmeni tavsiye etmem... mysql bağlantısını oraya buraya göndermek fonksiyonları karmaşıklaştırır boşiu boşuna.
Tavsiyelerim:
* Singleton pattern: Tüm veritabanı işlemleri ile ilgili fonksiyonları tek bir class altında topla, class'ı singleton'a göre çağırıp öyle çalıştır query'ni. Singelton'ın güzel tarafı her seferinde aynı db connection'ı çağırmış olursun, her çağırışta yeni bir connection yaratmaz.
Ör:public function foo() { $results = Db::getInstance()->query("SELECT * FROM bar"); // Do other stuff return $results; }
* Inheritance: MVC türü bir yapı kullanıyorsan bu yöntem daha iyi olur. Singleton ile birleştirerek daha güzel bir yapı elde edebilirsin.
Ör:
class DB { public function __construct() { $this->conn = Db::getInstance(); } } class Foo extends DB { public function foo() { $this->conn->query("SELECT * FROM bar"); } }