Advertisement
MarkusAO

MCVE for MySQL match fulltext boolean @distance query

Sep 15th, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.92 KB | None | 0 0
  1. <?php
  2.  
  3. $dbd = [
  4.     'host' => 'localhost',
  5.     'db' => 'test_dbs',
  6.     'user' => '****',
  7.     'pass' => '****',
  8.     'charset' => 'utf8mb4',
  9.     'attrs' => [
  10.         PDO::ATTR_ERRMODE               => PDO::ERRMODE_EXCEPTION,
  11.         PDO::ATTR_DEFAULT_FETCH_MODE    => PDO::FETCH_OBJ,
  12.         PDO::MYSQL_ATTR_FOUND_ROWS      => true,
  13.         PDO::ATTR_EMULATE_PREPARES      => true,
  14.     ]
  15. ];
  16.  
  17. $pdo = new PDO(
  18.     "mysql:host={$dbd['host']};dbname={$dbd['db']};charset={$dbd['charset']}",
  19.     $dbd['user'],
  20.     $dbd['pass'],
  21.     $dbd['attrs']
  22. );
  23.  
  24. $search = ['"tiger mouse" @4'];
  25. $stmt = 'select sText FROM fts_test WHERE MATCH (sText) AGAINST (? IN BOOLEAN MODE)';
  26.  
  27.  
  28. $stmt = $pdo->prepare($stmt);
  29. $stmt->execute($search);
  30. $result = $stmt->fetchAll();
  31.  
  32. print_r($result);
  33.  
  34. /* ==== Schema SQL ====
  35.  
  36. CREATE TABLE fts_test (
  37.   sText text,
  38.   FULLTEXT INDEX (sText)
  39. );
  40.  
  41. INSERT INTO test(sText) VALUES
  42.   ('tiger mouse'),
  43.   ('tiger foo bar mouse'),
  44.   ('tiger foo bar baz mouse');
  45.  
  46. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement