У меня проблемы с использованием хранимых процедур. Выполнение вызова хранимой процедуры не работает для меня. Поэтому я заменил хранимую процедуру оператором SQL. Но теперь у меня есть несколько хранимых процедур, которые получают параметры. например
CREATE PROCEDURE get_category_details_proc(IN incat_id INT)
BEGIN
SELECT name, desc
FROM category
WHERE cat_id = incat_id;
END
Как я могу заменить это, используя просто SQL-операторы?
Пожалуйста, см. мой предыдущий вопрос для более подробной информации.
У меня уже есть эта функция в моем классе подключения к базе данных:
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;
}
А в другом классе, где я на самом деле вызываю хранимые процедуры, у меня есть:
public static function GetCategoryDetails($categoryID)
{
$sql = CALL get_category_details_proc(:category_id);
$params = array(':category_id' => $categoryID);
return DatabaseHandler::GetRow($sql,$params);
}