sprintf kommer inte att skydda dig! Den ersätter bara %s
du måste mysql_real_escape_string så:
$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = "%s" AND COL2 = "%s"',
mysql_real_escape_string($col1),
mysql_real_escape_string($col2));
är säkrare injektion
notera:Jag föreslår att du tar en titt på PDO , det är vad jag gillar att använda för DB-anslutningar och frågor