动态MySQL过程不工作
您的数据库表没有列动态MySQL过程不工作,mysql,sql,stored-procedures,dynamic-sql,Mysql,Sql,Stored Procedures,Dynamic Sql,您的数据库表没有列L138362194。 您可以通过添加这样的列或选择存在的列来修复此问题。由于缺少引号而生成错误。下面是一个演示问题的示例 修改存储过程: mysql> call SearchTest('accession_no','L138362194'); ERROR 1054 (42S22): Unknown column 'L138362194' in 'where clause' sql注入。。。sql注入无处不在这是一种使用参数化存储过程不会阻止sql注入的情况 mysql
L138362194
。
您可以通过添加这样的列或选择存在的列来修复此问题。由于缺少引号而生成错误。下面是一个演示问题的示例 修改存储过程:
mysql> call SearchTest('accession_no','L138362194');
ERROR 1054 (42S22): Unknown column 'L138362194' in 'where clause'
sql注入。。。sql注入无处不在这是一种使用参数化存储过程不会阻止sql注入的情况
mysql> call SearchTest('accession_no','L138362194');
ERROR 1054 (42S22): Unknown column 'L138362194' in 'where clause'
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 ;