Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pencarian menunjukkan semua produk

Formulir Anda tidak terstruktur dengan benar - bidang "user_query" berada di luar formulir sehingga $_GET['user_query'] tidak akan pernah ditetapkan. Coba ubah ini:

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

Untuk sesuatu seperti ini:

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

Juga, seperti yang telah dicatat oleh beberapa orang lain, ini rentan terhadap injeksi SQL. Posting ini membahas skenario yang sangat mirip dengan skenario Anda:Bagaimana cara mencegah injeksi SQL di PHP?

Saya sangat menyarankan Anda menjalankan kode yang dihasilkan melalui layanan validasi untuk menangkap kesalahan dalam html Anda. Pastikan untuk menggunakan html yang dihasilkan (salin dari "sumber tampilan" di browser), bukan hanya kode dari file php Anda karena validator tidak akan memahami PHP. Konsorsium WWW memiliki alat yang bagus:http://validator.w3.org/#validate_by_input




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T_ENCAPSED_AND_WHITESPACE tak terduga, mengharapkan kesalahan T_STRING atau T_VARIABLE atau T_NUM_STRING

  2. Permintaan MySQL IN sangat lambat dengan subquery tetapi cepat dengan nilai eksplisit

  3. Masalah ukuran unggahan di PHP dan MySql

  4. Instal MySQL 5.6 di Ubuntu 20.04

  5. Sinkronisasi data antara MySQL dan MongoDB