防止sql注入不但可以从pymysql里面可以,也可以从mysql中动态执行sql注入。
pumysql的防注入见pymysql的模块那节。
下面是mysql的防止sql注入的代码。
delimiter \
create procedure p4 (
in nid int -- 声明变量
)
begin
set @nid=nid; -- 设置 @赋值
prepare prod from 'select * from student where sid > ?'; -- 预编译?是站位符
execute prod using @nid; -- 将?赋值,将prof 变为正常语言
deallocate prepare prod; -- 执行Prof
end\
delimiter ;
下面是美化的代码
delimiter \
CREATE PROCEDURE p4 ( IN nid INT)
BEGIN
SET @nid = nid;
PREPARE prod FROM 'select * from student where sid > ?';
EXECUTE prod USING @nid;
DEALLOCATE PREPARE prod;
END \
delimiter;
。