v2.5.2
Giriş yap

PHP Class içinde GET Parametresini Sorgu İçinde Kullanamıyorum

desperado
411 defa görüntülendi

php de class içerisinde get ile aldığım bir parametreyi pdo sorgusu içerisinde kullanamıyorum.

sorgu dışında echo, print, print_r, var_dump ile get ile gelen değeri gösteriyor. ama sorgu içerisine eklediğim zaman sonuç alamıyorum.

Kullandığım değişken $this->ProductID

class kategoiler {
	public $ProductID;
    function __construct()
    {
        $this->ProductID = isset($_GET['test']) ? $_GET['test'] : null;
    }
	function liste()
	{
		global $db;
		$query = $db->prepare("SELECT * FROM tbl_Products WHERE inCatalog = ?");
		$query->execute(
		array(
			 $this->ProductID
		));
		$result = $query->fetchAll(PDO::FETCH_OBJ);
		return $result;
	}
}

$a = new kategoiler();
print_r($a->liste());

coder
1147 gün önce

Class ismi ve method ismi olarak çağırabilirsiniz. Ancak fonksiyon ve değişkenin static olması gerekiyor. Kodu inceleyin.

Çağırma örneği.
kategoriler::liste();

<?php
include("baglan.php");

class kategoriler {

    public static $ProductID;

    public function __construct()
    {
       self::$ProductID = isset($_GET['test']) ? $_GET['test'] : null;
    }

    public static function liste()
    {
        global $db;
        $query = $db->prepare("SELECT * FROM kategoriler WHERE kategori_id = ?");
        $query->execute(
        array(
            self::$ProductID
        ));
        $result = $query->fetchAll(PDO::FETCH_OBJ);
        return $result;
    }
}

$kategori = new kategoriler();

$sonuc = kategoriler::liste();

foreach($sonuc as $b){
    echo $b->kategori_baslik;
};