Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php postgresql to_tsquery()与PDO';s编写的声明_Php_Postgresql_Pdo - Fatal编程技术网

Php postgresql to_tsquery()与PDO';s编写的声明

Php postgresql to_tsquery()与PDO';s编写的声明,php,postgresql,pdo,Php,Postgresql,Pdo,如果直接写 $sql = "... to_tsquery( 'word_1 | word_2' )"; 工作正常,但如何将此语法用于PDO的准备语句 什么是正确的语法: $sql = " ... to_tsquery( :word_1 | :word_2 ) "; //this is incorrect $sth = $db->prepare( $sql ); $sth->execute( array( ':word_1'=>"word_1", ':word_2'

如果直接写

$sql = "... to_tsquery( 'word_1 | word_2' )";
工作正常,但如何将此语法用于PDO的准备语句

什么是正确的语法:

$sql = " ... to_tsquery( :word_1 | :word_2 ) "; //this is incorrect

$sth = $db->prepare( $sql );
$sth->execute(
    array( ':word_1'=>"word_1",  ':word_2'=>"word_2" )
);
像这样:

denis=# select to_tsquery('(foo | bar) & baz');
        to_tsquery         
---------------------------
 ( 'foo' | 'bar' ) & 'baz'
(1 row)

denis=# select (to_tsquery('foo') || to_tsquery('bar')) && to_tsquery('baz');
         ?column?          
---------------------------
 ( 'foo' | 'bar' ) & 'baz'
(1 row)

这是如何回答这个问题的?@shapeshifter:也许是通过强调所需的算术?例如,不是
to_tsquery(:word|1:word|2)
而是
to_tsquery(:word|1)| to_tsquery(:word|2)
。。。