Mysql
 sql >> Database >  >> RDS >> Mysql

Questa query è sicura dall'iniezione di sql?

Quella particolare iniezione non funzionerebbe poiché mysql_query di PHP la funzione consente solo una query per chiamata. Tuttavia, quanto segue potrebbe funzionare se column ha una chiave primaria o univoca:

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

Meglio usare il prolisso mysql_real_escape_string funzione:

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