我有這個存儲過程。當我在Wamp上的PhpMyAdmin中執行它時,它說它執行了所有事情。當我嘗試在查詢中使用它時,它說該函數不在那裏。我究竟做錯了什麼?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,而你的應用很可能不會。 – 2012-04-11 17:28:37
當我嘗試在查詢中使用它時,它說這個函數不在那裏。: - 你能在這裏提供你的查詢嗎? – 2012-04-11 17:28:46
編輯。另外,我是最高用戶。它運行在我的本地環境中。 – AlanPHP 2012-04-11 17:32:33