Filtra sempre le variabili, puoi usare queste due funzioni:
https://www.php.net/manual/en/function.filter-var.php
https://www.php.net/manual/en/function.filter-input.php
Usa pdo con i prepared statements per accedere al database.
Disabilitane l'emulazione settando l'attributo di pdo PDO::ATTR_EMULATE_PREPARES a false.
Controlla che se vengono generati degli errori non vengano mostrati all'utente, specialmente se contengono informazioni "sensibili".
In questo modo hai una buona protezione verso gli attacchi sql injection.