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

Søgning viser alle produkterne

Din formular er ikke korrekt struktureret - feltet "user_query" er uden for formularen, så $_GET['user_query'] ville aldrig blive sat. Prøv at ændre dette:

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

Til noget som dette:

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

Som flere andre har bemærket, er dette også modtageligt for SQL-injektion. Dette indlæg diskuterer et scenarie meget lig dit:Hvordan kan jeg forhindre SQL-injektion i PHP?

Jeg foreslår kraftigt, at du kører din genererede kode gennem en valideringstjeneste for at fange fejl i din html. Sørg for at bruge den genererede html (kopi fra "se kilde" i browseren), ikke kun koden fra din php-fil, fordi validatoren ikke forstår PHP. WWW-konsortiet har et godt værktøj:http://validator.w3.org/#validate_by_input




  1. hvordan man lægger database og læser database fra aktivmappe android, som er oprettet og eksporteret i sqllite

  2. Mysql InnoDB fejl 32 på Windows

  3. Sådan tilføjes en titel til en formularoverskrift i Microsoft Access

  4. Cloud 9 IDE kan ikke oprette forbindelse til databasen