传递参数是 where mysql 之后的字段,过程

pass parameter is field after where mysql , procedure

我使用 table 列进行过滤,通过参数(第 7 行中 where 之后的字段)过程,但传递 table 的参数列,mysql 不知道

use testphantrang;
DELIMITER $$
CREATE PROCEDURE `filter`(in field varchar(40), in giatri varchar(40),in index_of_page int)
begin
        declare xx int ;
        set xx = index_of_page*15;
        SELECT * from test where field like CONCAT('%', giatri,'%') limit xx,15;
END; $$
DELIMITER ;
call `filter`('email','b',0);

下面是我的table:

DELIMITER $$
CREATE PROCEDURE `filter`(in field varchar(40), in giatri varchar(40),in index_of_page int)
begin
        declare xx int ;
        set xx = index_of_page*15;

       set @query = CONCAT('SELECT * from test where field rlike ''', giatri,''' limit ',xx,',15;');

 PREPARE dynamic_statement FROM @query;
 EXECUTE dynamic_statement;
 DEALLOCATE PREPARE dynamic_statement;
END; $$
DELIMITER ;


call `filter`('email','b',0);