У меня есть эта хранимая процедура. Когда я выполняю его в своем PhpMyAdmin на Wamp, он говорит, что он выполнен и все. Когда я пытаюсь использовать его в запросе, он говорит, что функции там нет. Что я делаю не так?Mysql Сохраненная процедура не существует?
DELIMITER //
CREATE PROCEDURE `sql_level`(IN exp INT)
BEGIN
SELECT id
FROM `levels`
WHERE experience <= exp DESC LIMIT 1;
id = id-1;
END //
DELIMITER ;
Вот запрос, который я пытаюсь запустить.
$id = 1;
if($stmt->prepare("SELECT sql_level(attack) FROM `users` WHERE id = ?")) {
$stmt->bind_param('i',$id);
$stmt->execute();
$stmt->bind_result($attack);
$stmt->fetch(); echo "<h1 align='center'>".$attack."</h1>"; }
else { die($stmt->error); }
Спасибо.
Вы проверили, доступен ли SP для учетной записи пользователя, которую вы используете в своем приложении? phpmyadmin обычно имеет учетную запись суперпользователя для доступа к mysql, и ваше приложение, скорее всего, этого не делает. –
Когда я пытаюсь использовать его в запросе, он говорит, что функции там нет .:- Можете ли вы предоставить свой запрос здесь? –
Редактирование. Кроме того, я главный пользователь. Он работает в моей локальной среде. – AlanPHP