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

mysql PDO et injection SQL dynamique de procédure stockée

Oui bien sûr.

Et si in_var est égal à ' UNION SELECT password from admins -- ?

Pour éviter cela, vous ne devez pas utiliser un culte cargo déclaration préparée mais une vraie, en remplaçant votre variable par un espace réservé.

SET @query = CONCAT("SELECT * FROM my_table  WHERE my_column = ? LIMIT 1;");

PREPARE stmt FROM @query;
EXECUTE stmt USING @in_var;