フォームが適切に構造化されていません。「user_query」フィールドがフォームの外部にあるため、$_GET['user_query']
設定されることはありません。これを変更してみてください:
<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>
このようなものに:
<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>
また、他のいくつかが指摘しているように、これはSQLインジェクションの影響を受けやすくなっています。この投稿では、あなたと非常によく似たシナリオについて説明しています: PHPでSQLインジェクションを防ぐにはどうすればよいですか?
HTMLのエラーをキャッチするために、生成されたコードを検証サービスで実行することを強くお勧めします。バリデーターはPHPを理解しないため、phpファイルのコードだけでなく、生成されたhtml(ブラウザーの「ソースの表示」からコピー)を使用してください。 WWWコンソーシアムには優れたツールがあります: http://validator.w3.org/#validate_by_input