Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql存储过程执行prepare语句不工作_Mysql_Stored Procedures - Fatal编程技术网

mysql存储过程执行prepare语句不工作

mysql存储过程执行prepare语句不工作,mysql,stored-procedures,Mysql,Stored Procedures,我需要在存储过程中使用prepared语句,但我不明白它为什么不起作用。我有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 @ou

我需要在存储过程中使用prepared语句,但我不明白它为什么不起作用。我有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;

您不关心@out\u结果作为变量

尝试在“开始”下方添加此选项

SET @out_result = out_result;

您不关心@out\u结果作为变量

尝试在“开始”下方添加此选项

SET @out_result = out_result;