sql >> Database teknologi >  >> RDS >> Mysql

Tving nøjagtig streng MATCH for PDO-forberedte udsagn

Sørg for, at du sætter anførselstegn omkring den variabel, der er angivet i AGAINST .

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

Eller du kan også gøre det i MySQL-sætningen:

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

Ifølge MySQL-dokumentation om boolske fuldtekstsøgninger :




  1. Sende et array til en forespørgsel ved hjælp af en WHERE-sætning

  2. kolonne ikke tilladt her fejl i INSERT-sætning

  3. Hvad bør enhver PHP-programmør vide?

  4. ExecuteBatch-metoden returnerer array med værdi -2 i java