sql >> Base de Datos >  >> RDS >> Mysql

¿Esta consulta está a salvo de la inyección de sql?

Esa inyección en particular no funcionaría ya que mysql_query de PHP La función solo permite una consulta por llamada. Sin embargo, lo siguiente puede funcionar si column tiene una clave primaria o única:

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

Es mejor usar el extenso mysql_real_escape_string función:

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