奇怪的SQL查询行为

时间:2012-06-22 07:49:03

标签: mysql

我从日志select content = 5%id%201=1 from pages获得了这个SQL查询,它运行并返回一些值。我试图找到它的作用,但我走到了尽头。有人对此有一些解释吗?

感谢。

2 个答案:

答案 0 :(得分:2)

发生的事情是

content = 5%id%201=1

表示[{1}}列的值[等于1](((5模数[值] content)模id)等于1)

可能需要重新安排paranthesis订单,但想法是在结果中显示0或1。

Click here用于MySQL中MODULO函数的文档

答案 1 :(得分:1)

对我来说看起来毫无意义。对于1 id = 4的行,或者content = '1'id != 4的行或者字符串,它将返回content = '0'不能转换为整数;所有其他行0。似乎太习惯做任何有用的事情。