Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wymuś dokładny ciąg MATCH dla przygotowanych instrukcji PDO

Upewnij się, że wstawiasz cudzysłowy wokół zmiennej określonej w AGAINST .

W 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();

Możesz to również zrobić w instrukcji 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();

Zgodnie z dokumentacją MySQL na temat Boolean Full-Text Search :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje odpowiednik Profilera dla MySQL?

  2. MySQL odpowiednik funkcji DECODE w Oracle

  3. Jak mogę połączyć AND i OR w moim zapytaniu SQL?

  4. UNPIVOT mysql dane do innej tabeli

  5. Czy indeks na Varchar ma wpływ na wydajność?