[英]mysql stored procedure execute prepare statement not working
I need to use prepared statement inside stored procedure but I do not understand why it does not work. 我需要在存储过程中使用准备好的语句,但是我不明白为什么它不起作用。 I have mysql5.7.9 and I call it from PHP->PDO 我有mysql5.7.9,我从PHP-> PDO调用它
CREATE PROCEDURE my_sp(
OUT out_result VARCHAR(32)
)
BEGIN
/*This work OK*/
SELECT pow(2,2) INTO out_result;
/*NOT work Variable prefixed with @ */
SELECT pow(2,2) INTO @out_result;
/*NOT work (with or without @ before out_result variable)*/
PREPARE stmt FROM 'SELECT pow(2,2) INTO out_result';
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
You are not delcaring @out_result as a variable 您没有将@out_result当作变量
Try adding this just below BEGIN 尝试将其添加到BEGIN下方
SET @out_result = out_result;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.