Du solltest dir vielleicht mal Prepared Statements anschauen. Damit übergibst du keine "rohen" Variablen, sondern die Bibliothek nimmt deine Variablen separat und sieht zu, dass du die Abfrage escapest; sprich verhindert, dass ungefilterter Input eine Sicherheitslücke darstellt.