Я пытаюсь создать хранимую процедуру в CakePHP. Я создал процедуру в MYSQL и создал глобальную функцию в AppModel.php, чтобы выполнить процедуру. Функция в AppModel - это sProcedure. Теперь у меня есть два условия: у меня может быть переменная для возврата из процедуры или, возможно, прямой набор результатов, например. Я создал для Pagination. Хотя он снимает мою процедуру, но не возвращает никакого результата. Является ли моя функция изменением?CakePHP с сохраненной процедурой
public function sProcedure($name = NULL, $inputParameter = array(), $outputParameter = array()) {
$this->begin();
$parameter = "";
$outputParam = "";
foreach ($inputParameter as $params) {
$parameter .= $parameter == "" ? " '$params' " : ", '$params' ";
}
if (count($outputParameter) > 0) {
foreach ($outputParameter as $prm) {
$outputParam .= $outputParam == "" ? " @$prm " : ", @$prm ";
}
}
$parameter = ($outputParam) ? $parameter . ", " . $outputParam : $parameter;
$this->query("CALL `$name`($parameter);");
$result = $this->query("SELECT $outputParam");
$this->commit();
return $result;
}
$sel_data = $this->ArticleNews->sProcedure("update_blank", $input_prameter, $output);
debug($sel_data);
вы получаете любую ошибку –
я не получаю сообщение об ошибке, моя процедура выполняется так же. Но я хочу знать, как вывести результаты из процедуры. Использование одной и той же функции. Независимо от того, у меня есть выходной набор результатов или переменные. – Sankalp
@Sankalp - это процедура, возвращающая законные значения при вызове непосредственно из MySQL (не используя PHP)? Кроме того, $ this-> query выполняет переданную строку запроса и возвращает (если не сбой) ресурс, который должен быть повторен. – sitilge