Prosto mówiąc:
prepare(zapytanie do bazy);
Przygotowanie zapytania, można powiedzieć szkieletu.
bind_param;
Podstawienie wartości poprzez bindowanie (osobno wysyłany jest ten szkielet, osobno bindowane wartości, przez co mamy gwarantowane zabezpieczenie przed sql injection).
execute
Wykonanie przygotowanego zapytania z podstawionymi danymi.
Widząc bind_param a nie bindParam podejrzewam, że korzystasz z mysqli. Znam fajnie napisany poradnik, ale do PDO: https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO poruszane są w nim wszystkie kwestie o które pytasz. Jeśli nawet korzystasz z mysqli to możesz przeczytać jak to działa, mając na uwadze ewentualne różnice składniowe między mysqli a PDO (mówiąc tylko o tych 3 rzeczach nie będzie ich aż tak dużo).