gpt4 book ai didi

Mysql存储过程不是有吗?

转载 作者:行者123 更新时间:2023-11-29 14:30:32 25 4
gpt4 key购买 nike

我有这个存储过程。当我在 Wamp 上的 PhpMyAdmin 中执行它时,它说它已执行以及一切。当我尝试在查询中使用它时,它说该函数不存在。我做错了什么?

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); }

谢谢。

最佳答案

您想将您的例程创建为 function而不是存储过程。

DELIMITER //

CREATE FUNCTION `sql_level`(exp INT)
RETURNS INT
BEGIN
DECLARE ReturnId INT;

SELECT id-1 INTO ReturnId
FROM `levels`
WHERE experience <= exp DESC LIMIT 1;

RETURN ReturnId;
END //

DELIMITER ;

关于Mysql存储过程不是有吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10110899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com