0

簡単なストアドプロシージャがあります。

PROCEDURE `status_recalculate`(IN aid INT)
BEGIN
DECLARE actions INT DEFAULT 0;
DECLARE rid INT DEFAULT 0;
DECLARE actions_done INT DEFAULT 0;
DECLARE status_done INT DEFAULT 0;

SELECT request_id INTO rid FROM mtset_dev.actions a WHERE a.id=aid;
SELECT count(*) INTO actions FROM mtset_dev.actions a WHERE a.request_id=rid;

SELECT count(*) INTO actions_done FROM mtset_dev.actions a WHERE a.request_id=rid AND a.action_status=1;
SELECT CEIL(actions_done/actions*100) INTO status_done;

#UPDATE requests SET `status` = status_done WHERE id=rid;

SELECT rid, status_done;
END

そして、コハナ3.2からAJAX経由で呼び出したいと思います。モデルには次のコードがあります。

$query = "call status_recalculate($aid);";
DB::query(Database::SELECT, $query)->execute();

そして、成功したAJAX応答はありません。私は何が間違っているのですか?どうすれば結果(または、おそらくエラー)を取得できますか?この答えを読んでも役に立たなかった。

ありがとう。

4

1 に答える 1

0

私はそれを解決しました。すべて単純:実行するmysql特権。

于 2013-05-30T13:06:36.163 に答える