mysql一个特殊的条件.字符串除以0的结果.
select * form user where username = ''/1;
一开始一看以为还是错误的语法....
结果出来一堆结果..
原来条件是 ''除以1
''除以1 结果是什么呢?
原来在mysql里面 会做隐式转换(优先级转换)
字符串转换结果:
'abc' 转换为 0
'25a'转换为 25
'123' 转换为 123
''也是字符串 所以转换为 0
"/1 同等于 0/1 所以0除以1 等于 0
同理: username字段里面只要是纯字符串的都是 0
那么 username = ''/1 的结果是:只要是username为纯字符串的都会显示在结果里面.
PS:思考 select * form user where username = ''/0;
XDJG5RCUHD7gemxJAaybgCTJNJjKJdluBD6eXCQVCRGLpzMlufK50Ib9QYImPsi7qY5E1jM8S8exfbsiGRg9xyAELHPtltsCba+IF7wrAdvANRGT5XnVmx8elimaJJAbCBz9jqfxFXb12SAlNimrrvRQO1CwdEEITdbRLz6W/kAfK8yua5iY25/+cPYlqdd2EfeJGJz4ysJgQqtP+vjekNDS/mGSGNhDouLfeGlOVFSCjfnHkgMpw79TgWzhjRQBzOF4bCGXj9UvsvVikcwUc6Elcv95kbcKT7x44SP3XZQopE4OQFqHgzkrmtoynwW2oGVfrSOREc2WJG+DpFCL3fZanJFVFJvEW9+D/iT+YkdJEXZbMv2xusrq3+nYnr/EKlVmoY1x4kM=