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

Buộc MATCH chuỗi chính xác cho các câu lệnh chuẩn bị PDO

Đảm bảo rằng bạn đang đặt dấu ngoặc kép xung quanh biến được chỉ định trong AGAINST .

Trong PHP:

$some_term = '"'.$some_term.'"'; // Adds quotes around string

$stmt = $db->prepare('SELECT * FROM example WHERE MATCH(some_column) AGAINST(:some_term)');
$stmt->bindParam(':some_term', $some_term, PDO::PARAM_STR);
$stmt->execute();

Hoặc bạn cũng có thể làm điều đó trong câu lệnh MySQL:

$stmt = $db->prepare('SELECT * FROM example WHERE MATCH(some_column) AGAINST(CONCAT(\'"\',:some_term,\'"\')');
$stmt->bindParam(':some_term', $some_term, PDO::PARAM_STR);
$stmt->execute();

Theo tài liệu MySQL trên Boolean Full-Text Searches :




  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ạo bảng với mysql, php và ajax (với jquery)

  2. Cách kết nối nhiều cơ sở dữ liệu trong PHP, MYSQLi &PDO

  3. Có cách nào để chỉ cài đặt ứng dụng khách mysql (Linux) không?

  4. Kết nối Visual COBOL với MySQL

  5. Lấy địa chỉ ip của máy khách trong mysql