Ben saklı yordamları kullanarak sorunları yaşıyorum. Bir saklı yordam için yapma çağrısı benim için çalışmıyor. Yani bir sql deyimi ile saklı yordam yerini aldı. Ama şimdi, ben parametreleri almak bazı saklanan prosedürleri var. örneğin
CREATE PROCEDURE get_category_details_proc(IN incat_id INT)
BEGIN
SELECT name, desc
FROM category
WHERE cat_id = incat_id;
END
Nasıl ben sadece sql ifadeleri kullanarak bu değiştirebilirsiniz?
my previous question daha fazla bilgi için bakınız.
Zaten benim veritabanı bağlantı sınıfta bu işlevi vardır:
public static function GetRow($sqlQuery, $params = null, $fetchStyle = PDO::FETCH_ASSOC)
{
$result = null;
try
{
$database_handler = self::GetHandler();
$statement_handler = $database_handler->prepare($sqlQuery);
$statement_handler->execute($params);
$result = $statement_handler->fetch($fetchStyle);
}
catch(PDOException $e)
{
self::Close();
trigger_error($e->getMessage(), E_USER_ERROR);
}
return $result;
}
Ve ben aslında saklı yordamları aradığım başka bir sınıfta var:
public static function GetCategoryDetails($categoryID)
{
$sql = CALL get_category_details_proc(:category_id);
$params = array(':category_id' => $categoryID);
return DatabaseHandler::GetRow($sql,$params);
}