使用 union select 来判断字段数比较麻烦,不能直观的得到结果。可以使用 order by 来替代,它可以轻松地判断字段数目,因为可以在 "order by" 后面跟数字,在 MySQL 中会将该数字解释为按照第几列进行查询。如果没有这一列,那就会出现错误的信息,利用这个特性就可以轻松的判断查询的字段数目。
比如下面的查询:
[attach]1884[/attach]
可以将上述语句 order by 后的 10 替换为不同的数字,如果、查询都出现了正常的页面,那么说明存在这个字段,如果是错误页面,说明不存在这个字段。这样就很容易知道该表总共有多少个字段。
由于 MySQL 3.0 不支持 Union Select 查询,但它仍然可以使用 order by 来查询,因此要查询字段数目,一般就使用 order by 来。