我需要使用全文搜索来获取包含单词
我的代码:
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"
,尽管搜索字符串已经被转义了。
我该如何解决这个问题?