调用mysql存储过程,如果获取out参数的值?
发布于 9 年前 作者 huangshaohui 7100 次浏览 最后一次编辑是 8 年前 来自 问答

1.存储过程如下: CREATE PROCEDURE sp_login(     in p_username varchar(50),     in p_password char(32),     out p_userID int ) BEGIN     -- 判断用户名密码是否正确,并且获取到用户ID     set p_userID = 10; END

2.nodejs代码如下:     var connection = mysql.createConnection(config);     connection.connect();     connection.query("call sp_login(?, ?, @p_userID)", ["username", "password"], function (error, result) {         // 这里从result中获取不到p_userID的值     });

谢谢!

3 回复

存储过程最后select 一下

@yidenger 对的,这个方法的确可以,但是这样out参数就没有存在的意义了。

CREATE PROCEDURE sp_login(     in p_username varchar(50),     in p_password char(32) ) BEGIN declare p_userID int;     – 判断用户名密码是否正确,并且获取到用户ID     set p_userID = 10; select p_userID; END

放假前再顶一下

回到顶部