Mysql
 sql >> Base de données >  >> RDS >> Mysql

Cette requête est-elle à l'abri de l'injection SQL ?

Cette injection particulière ne fonctionnerait pas depuis le mysql_query de PHP La fonction n'autorise qu'une requête par appel. Cependant, ce qui suit peut fonctionner si column possède une clé primaire ou unique :

$unsafe_variable = "admin') ON DUPLICATE KEY UPDATE password=MD5(CONCAT('knownsalt', 'newpassword'))#";

Mieux vaut utiliser le long mysql_real_escape_string fonction :

$sql=sprintf("INSERT INTO table (column) VALUES(%s)",
             mysql_real_escape_string($unsafe_variable));
mysql_query($sql);