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

PHP PDO truy vấn MySQL LIKE -> nhiều từ khóa

Bạn không nên sử dụng @ để tắt tiếng lỗi, đó là một cách làm không tốt, hãy kiểm tra xem giá trị đã được đặt chưa. Ví dụ dưới đây sẽ hoạt động, nhưng kết quả có thể không phù hợp.

$search = isset($_GET['q']) ? $_GET['q'] : ''; 
$search = strtoupper($search);
$search = strip_tags($search); 
$search = trim($search);
$words = explode(' ', $search);
$words_condition = array();
$arguments = array();
foreach ($words as $word) {
    $words_condition[] = 'name LIKE ?';
    $arguments[] = '%'.$word.'%';
}

$query = $con->prepare('SELECT * FROM `users` WHERE '.implode(' OR ', $words_condition));
$query->execute($arguments);

$result = $query->rowCount();
echo $result;


  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ìm hiểu về MySQL Lỗi không thể mở lại bảng

  2. Cập nhật hàng với dữ liệu từ một hàng khác trong cùng một bảng

  3. Làm thế nào để di chuyển các cột trong một bảng MySQL?

  4. Django views.py Phiên bản SQL Tham gia với Truy vấn Nhiều Bảng

  5. Sự khác biệt giữa MySQL Native Driver và MySQL Client Library