Ja, natürlich.
Was ist, wenn in_var
ist gleich dem UNION SELECT-Passwort von ' UNION SELECT password from admins --
?
Um das zu vermeiden, sollten Sie keinen Frachtkult verwenden vorbereitete Anweisung, sondern eine echte, indem Sie Ihre Variable durch einen Platzhalter ersetzen.
SET @query = CONCAT("SELECT * FROM my_table WHERE my_column = ? LIMIT 1;");
PREPARE stmt FROM @query;
EXECUTE stmt USING @in_var;