Mysql
 sql >> Database >  >> RDS >> Mysql

La ricerca mostra tutti i prodotti

Il tuo modulo non è strutturato correttamente:il campo "user_query" è esterno al modulo, quindi $_GET['user_query'] non sarebbe mai stato impostato. Prova a cambiare questo:

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

A qualcosa del genere:

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

Inoltre, come molti altri hanno notato, questo è suscettibile di SQL injection. Questo post discute uno scenario molto simile al tuo:Come posso prevenire l'SQL injection in PHP?

Ti suggerisco vivamente di eseguire il codice generato tramite un servizio di convalida per rilevare errori nel tuo html. Assicurati di utilizzare l'html generato (copia da "visualizza sorgente" nel browser), non solo il codice dal tuo file php perché il validatore non capirà il PHP. Il WWW Consortium ha un buon strumento:http://validator.w3.org/#validate_by_input