我需要使用全文搜索来获取该列包含该单词的行 O'henry
我的代码:
$word = "O'henry";
$sql = "SELECT * FROM mytable WHERE to_tsvector('english', col) @@ to_tsquery(:word) ";
$sth = $db->prepare( $sql );
$sth->execute(
array(":word"=>$word)
);
我有两个问题:
1) 此查询匹配包含单词 的列O'henry
,但它也匹配包含例如:“O yes, thierry henry is good sportsman”的列。
2)如果$word
以引号开头,例如'henry
,我得到一个错误:syntax error in tsquery: "'henry"
,尽管搜索字符串已经被转义。
我怎么解决这个问题?