Je mysqli-logica lijkt in orde, er zijn enkele voorbeelden in de PHP-handleiding hier voor het geval je ze niet hebt gezien.
Waarom selecteert u de ID wanneer u deze niet gebruikt? Je hoeft ook niet echt een resultaat te binden als er maar één rij wordt geretourneerd in de volledige resultatenset, zoals ik aanneem dat dit in dit geval zal gebeuren (ID is unieke index in de tabel), gebruik get_result in plaats daarvan.
Het gebruik van mysqli prepare beschermt tegen alle veelvoorkomende injectieaanvallen, maar niet tegen 0-day-achtige dingen die de bestuurder nog niet hebben bereikt.