【发布时间】:2013-09-23 10:10:28
【问题描述】:
Delimiter //
CREATE Procedure SearchTest(IN FieldName varchar(30),IN FieldValue varchar(30))
BEGIN
SET @query = CONCAT('select count(*) from Some_table_name where ', FieldName,'=',FieldValue);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END //
Delimiter ;
mysql> call SearchTest('accession_no','L138362194');
ERROR 1054 (42S22): Unknown column 'L138362194' in 'where clause'
【问题讨论】:
-
这是一种使用参数化存储过程并不能阻止 sql 注入的情况
标签: mysql sql stored-procedures dynamic-sql