sql >> Databasteknik >  >> RDS >> Mysql

Hur skyddar sprintf() mot SQL-injektion?

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



  1. varför hämtar detta inte data från 7 dagar tillbaka?

  2. Förstå SQL Server LOCKS på SELECT-frågor

  3. Hur man får in ett värde för trigger

  4. 10 ovanliga Microsoft Access 2019-tips