Mysql在存储过程中将动态内容传递给sql查询

Mysql在存储过程中将动态内容传递给sql查询,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我正在尝试将我将在UI中选择的对象id作为输入传递到此查询,以代替“contextfilter”。当我尝试获取存储过程的源代码时,我遇到了一些异常,称为“sql语法中的错误”,我无法找出可能出现的错误请记住在注入代码时要小心。采取一切可能的安全措施 分隔符// 删除过程(如果存在)`test1`// 创建过程“test1”(在“contextFilter”文本中) 开始 设置@`query`:=CONCAT('选择`profileId`作为`profile` 来自'sa'。'topology_n

我正在尝试将我将在UI中选择的对象id作为输入传递到此查询,以代替“contextfilter”。当我尝试获取存储过程的源代码时,我遇到了一些异常,称为“sql语法中的错误”,我无法找出可能出现的错误

请记住在注入代码时要小心。采取一切可能的安全措施

分隔符//
删除过程(如果存在)`test1`//
创建过程“test1”(在“contextFilter”文本中)
开始
设置@`query`:=CONCAT('选择`profileId`作为`profile`
来自'sa'。'topology_network_element'WHERE','contextFilter',';');
从@`query`准备`stmt\u query`;
执行'stmt_query';
取消分配准备“stmt\U查询”;
结束//
定界符;

更改此行“SET@query=”从sa.topology\u network\u element”中选择profileId作为“profile\”,其中contextFilter;`要“SET@query=”从sa.topology\u network\u element\”中选择profileId作为“profile\”,其中contextFilter`@user3607869说:这对我不起作用,我遇到了如下异常:
生成报告失败:数据库读取失败:您的sql语法有错误;检查与mysql服务器版本对应的手册,以了解在第1行“\'ahhfb66756-jg417823-shgu2977(动态上下文传递)\”))”附近使用的正确语法:您能提供一个您尝试执行的示例吗?
DROP PROCEDURE IF EXISTS test1();

DELIMITER //

 CREATE PROCEDURE test1( IN contextFilter TEXT )
   BEGIN
   SET @query =  'SELECT profileId AS \'profile\' from sa.topology_network_element' where contextFilter;
   PREPARE stmt_query FROM @query;
      SELECT @query;
        EXECUTE stmt_query;
        DEALLOCATE PREPARE stmt_query;
   END //

 DELIMITER ;