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

Bagaimana cara menggunakan string PHP dalam kueri LIKE mySQL?

Anda memiliki sintaks yang salah; tidak perlu menempatkan titik di dalam string yang dikutip ganda. Sebaliknya, itu harus lebih seperti

$query = mysql_query("SELECT * FROM table WHERE the_number LIKE '$prefix%'");

Anda dapat mengkonfirmasi ini dengan mencetak string untuk melihat bahwa ternyata identik dengan kasus pertama.

Tentu saja itu bukan ide yang bagus untuk hanya menyuntikkan variabel ke dalam string kueri seperti ini karena bahaya injeksi SQL. Setidaknya Anda harus secara manual keluar dari isi variabel dengan mysql_real_escape_string , yang akan membuatnya terlihat seperti ini:

$sql = sprintf("SELECT * FROM table WHERE the_number LIKE '%s%%'",
               mysql_real_escape_string($prefix));
$query = mysql_query($sql);

Perhatikan bahwa di dalam argumen pertama sprintf tanda persen perlu digandakan agar akhirnya muncul sekali di hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql bergabung dengan kueri untuk beberapa tag (hubungan banyak ke banyak) yang cocok dengan SEMUA tag?

  2. Memahami Tampilan dalam SQL

  3. Kirim data dari android ke server melalui JSON

  4. Bagaimana cara menyinkronkan dbfs Visual Foxpro dengan MySQL?

  5. Bagaimana cara menampilkan album gambar di postingan? [hanya menggunakan PHP dan MYSQL]