Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tìm kiếm nhiều từ khóa bằng php và mysql (trong đó X thích)

Để tìm kiếm động tất cả các từ khóa, bạn có thể sử dụng chức năng bùng nổ để tách tất cả các từ khóa;

$queried = mysql_real_escape_string($_POST['query']); // always escape

$keys = explode(" ",$queried);

$sql = "SELECT * FROM links WHERE name LIKE '%$queried%' ";

foreach($keys as $k){
    $sql .= " OR name LIKE '%$k%' ";
}

$result = mysql_query($sql);

Lưu ý 1: Luôn thoát khỏi đầu vào của người dùng trước khi sử dụng nó trong truy vấn của bạn.

Lưu ý 2: Các hàm mysql_ * không được dùng nữa, hãy sử dụng Mysqli hoặc PDO để thay thế

Cập nhật năm 2018 - Ghi chú 3: Đừng quên kiểm tra độ dài của $queried biến và đặt giới hạn. Nếu không, người dùng có thể nhập một chuỗi lớn khác nhau và làm hỏng cơ sở dữ liệu của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CodeIgniter chuyển trình điều khiển từ mysql -> mysqli

  2. Bảng tổng hợp động MySQL

  3. Chạy MySQL INSERT Query nhiều lần (chèn giá trị vào nhiều bảng)

  4. Bạn của một người bạn trong PHP / MySQL?

  5. Mysql - Giúp tôi thay đổi truy vấn tìm kiếm này để nhận được kết quả mong muốn