Ihr Formular ist nicht richtig strukturiert - das Feld "user_query" befindet sich außerhalb des Formulars, also $_GET['user_query']
würde nie eingestellt werden. Versuchen Sie Folgendes zu ändern:
<form class="form-wrapper cf">
<input type="text" name="user_query" placeholder="Search here..." required>
<form method="get" action="results.php" enctype="multipart/form-data">
<button type="submit" name="search" value="Search">Search</button>
</form>
Zu so etwas:
<div class="form-wrapper cf">
<form method="get" action="results.php" enctype="multipart/form-data">
<input type="text" name="user_query" placeholder="Search here..." required>
<button type="submit" name="search" value="Search">Search</button>
</form>
</div>
Wie mehrere andere angemerkt haben, ist dies auch anfällig für SQL-Injection. Dieser Beitrag beschreibt ein Szenario, das Ihrem sehr ähnlich ist:Wie kann ich SQL-Injection in PHP verhindern?
Ich empfehle dringend, dass Sie Ihren generierten Code durch einen Validierungsdienst laufen lassen, um Fehler in Ihrem HTML-Code zu finden. Stellen Sie sicher, dass Sie den generierten HTML-Code verwenden (Kopie von "Quelle anzeigen" im Browser), nicht nur den Code aus Ihrer PHP-Datei, da der Validator das PHP nicht versteht. Das WWW-Konsortium hat ein gutes Tool:http://validator.w3.org/#validate_by_input