PHP Class içinde GET Parametresini Sorgu İçinde Kullanamıyorum
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());
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;
};