Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态MySQL过程不工作_Mysql_Sql_Stored Procedures_Dynamic Sql - Fatal编程技术网

动态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 ;