0

我尝试从我设置艺术家的专辑中实现搜索。我从表单中获取变量并进行查询。成功地我从表格中得到了变量。

$words = $_REQUEST['SQLfield'];
$tempquery =  "SELECT * FROM album WHERE to_tsvector(artist) @@ to_tsquery('$words')";
do_sql($tempquery);

当我搜索例如 Jimi Hendrix 时,结果是:

query #1: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error in tsquery: "Jimi Hendrix "
4

1 回答 1

3

我没有在 PostgreSQL 中使用全文搜索,但在快速扫描文档后,我认为您应该使用plainto_tsqueryfunction 而不是to_tsquery,因为to_tsquery预计'jimi & hendrix'何时plainto_tsquery会接受诸如'Jimi Hendrix'.

于 2013-04-08T09:58:02.803 回答