sql >> Databáze >  >> RDS >> Mysql

Vyhledávání zobrazuje všechny produkty

Váš formulář není správně strukturován – pole „user_query“ je mimo formulář, takže $_GET['user_query'] by nikdy nebylo nastaveno. Zkuste to změnit:

<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> 

Něco takového:

<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>

Také, jak poznamenalo několik dalších, je to náchylné k SQL injection. Tento příspěvek popisuje scénář velmi podobný tomu vašemu:Jak mohu zabránit vkládání SQL v PHP?

Důrazně doporučuji spustit vygenerovaný kód prostřednictvím ověřovací služby, abyste zachytili chyby ve svém html. Ujistěte se, že používáte vygenerovaný html (zkopírujte z "zobrazit zdroj" v prohlížeči), ne pouze kód z vašeho php souboru, protože validátor nebude rozumět PHP. WWW Consortium má dobrý nástroj:http://validator.w3.org/#validate_by_input




  1. EM 12c Úprava prahových hodnot

  2. Pochopení rozdílů mezi Table a Transaction API

  3. Online vs offline zálohování

  4. Jak nastavit cílový adresář archivních protokolů v databázi Oracle