execute(array()); while($row = $stmt->fetch()) { $names = $row['names']; $moves = $row['moves']; echo " $names - $moves\r\n"; } } function dump1($stmt, $searchtype, $searchterm) { echo "$searchtype search for : $searchterm\r\n"; $stmt->execute(array('st' => $searchterm)); while($row = $stmt->fetch()) { $names = $row['names']; $moves = $row['moves']; echo " $names - $moves\r\n"; } } $con = new PDO('pgsql:host=localhost;dbname=Test', 'postgres', 'hemmeligt'); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); // all $stmt = $con->prepare('SELECT names, moves FROM chessopening'); dump0($stmt, "all"); // one $stmt = $con->prepare('SELECT names, moves FROM chessopening WHERE TO_TSVECTOR(names) @@ TO_TSQUERY (:st)'); dump1($stmt, 'one', 'defense'); $stmt = $con->prepare('SELECT names, moves FROM chessopening WHERE TO_TSVECTOR(moves) @@ TO_TSQUERY (:st)'); dump1($stmt, 'on', 'd4'); // dual $stmt = $con->prepare("SELECT names, moves FROM chessopening WHERE TO_TSVECTOR(names || ' ' || moves) @@ TO_TSQUERY (:st)"); dump1($stmt, 'dual', 'defense'); dump1($stmt, 'dual', 'd4'); dump1($stmt, 'dual', 'defense | d4'); // or dump1($stmt, 'dual', 'defense & d4'); // and dump1($stmt, 'dual', 'defense & !d4'); // not dump1($stmt, 'dual', 'def:*'); // wildcard dump1($stmt, 'dual', 'N:*'); // wildcard ?>