1
4
你不能对一个 identifier 但是,在MySQL中,您可以使用反勾号来转义它们。 以下查询将安全运行,但会产生错误,因为该表不存在(除非您有一个这样的表,这很奇怪):
基本上,您可以使用动态名称或字段,只要它们被括在反勾号中。为了以这种方式防止SQL注入,您所需要做的就是首先去掉所有的回溯:
|
2
2
动态表名从来都不是一个好方法(除非您正在开发
如果表名是有限的,为什么不创建一个存储过程并用参数调用它呢?
|
3
1
对,不能将查询参数用于表名、列名、SQL关键字或表达式等。只能将查询参数用于单个值。 我同意,从输入到文本表名进行某种映射是防止SQL注入的一种好方法。
我不在.NET中编程,我通常使用动态语言,如PHP、Python或Perl。所以我使用哈希数组。你可以跳过
.NET是否支持数据结构的哈希映射类型?这就是我要找的。
看起来有一个
|
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |