sql >> データベース >  >> RDS >> Mysql

PDOプリペアドステートメントの正確な文字列MATCHを強制します

    AGAINSTで指定された変数を引用符で囲んでいることを確認してください 。

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

    または、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();
    

    ブール全文検索に関するMySQLドキュメント




    1. RedditとHackerNewsのランキングアルゴリズムはどのように使用されていますか?

    2. Access2016でテンプレートからデータベースを作成する方法

    3. MySQL-INSERTステートメント内で文字列値をDATETIME形式に解析する方法は?

    4. ORA-30926:ソース表で安定した行のセットを取得できません