So, when we make a search, BF2 connects to certain server/port combination, and sends certain packets.
Inside, there is a part of SQL command (which probably gets integrated with the rest of hardcoded SQL statement).
SQL query looks like (I have "unwrapped it, for easier reading):
Empty "and " statement (2nd row from the bottom), most likely, generate SQL error on their side, so we get no results back. I am not sure what SQL server they use, and I can't be bothered to try the "and and" on MySQL right now, but I think SQL spec won't allow 2 consecutive AND statements, and will fail.
DICE, please hire someone who knows what he/she is doing. Pretty please? :)
(if someone has access to M$ SQL, which is what I think BF2 db uses, try some dummy statement with 2 ANDs one after another, and see if it bombs).
Inside, there is a part of SQL command (which probably gets integrated with the rest of hardcoded SQL statement).
SQL query looks like (I have "unwrapped it, for easier reading):
Code:
bf2_ranked = 1 and bf2_anticheat = 1 and (bf2_mapsize = 16 or bf2_mapsize = 32 or bf2_mapsize = 64) and gamever = '1.1.2696-528.0' and and mapname like '%strike%'
DICE, please hire someone who knows what he/she is doing. Pretty please? :)
(if someone has access to M$ SQL, which is what I think BF2 db uses, try some dummy statement with 2 ANDs one after another, and see if it bombs).

Comment