Je kunt een identifier niet paramatereren (tabelnaam of veldnaam) in MySQL, u kunt er echter aan ontsnappen met backticks.
De volgende query wordt veilig uitgevoerd, maar produceert een fout omdat de tabel niet bestaat (tenzij door een vreemde kans dat je een tabel hebt met de naam als deze):
SELECT * FROM `users; DROP TABLE users;`;
In principe kunt u dynamische namen of velden gebruiken zolang ze tussen backticks staan. Om SQL-injectie op deze manier te voorkomen, hoeft u alleen maar backticks te verwijderen:
tableName = tableName.Replace("`", "");
string commandText = "SELECT COUNT(*) FROM `" + tableName + "`";