2017-05-20 8 views
0

私は自分のサイトの検索機能を構築しており、記事のタイトルと内容を検索したいと考えています。PDO bindParamが複数のインスタンスを置き換えない

クエリはPDOでこれを達成するためにどのような方法がありますSELECT id FROM articles WHERE title LIKE '%<user input>%' OR content LIKE '%<user input>%';

のように見えるのでしょうか?私が読んだとおり、以下は不可能です。

$pdo = new PDO('pgsql:host=localhost;dbname=mysite', username, password); 
$statement = $pdo->prepare('SELECT id FROM articles WHERE title LIKE :userinput OR content LIKE :userinput'); 
$search = '%' . $_REQUEST[searchterm] . '%'; 
$statement->bindParam(':userinput', $search); 
+0

[PDOでLIKEクエリを実装する]の複製があります(http://stackoverflow.com/questions/11117134/implement-like-query-in-pdo) – Xorifelse

答えて

0

私は、同時に複数の変数を結合問題はないと思いますが、(ちょうどコロンとスペースなしを使用して構文を変更し)、私はそれをテストしていませんが、これは動作するはずです:

$statement = $pdo->prepare('SELECT id FROM articles WHERE title LIKE :userinput OR content LIKE :userinput'); 
$search = '%' . $_REQUEST[searchterm] . '%'; 
$statement->bindParam(':userinput', $search); 
+0

いいえ、見つかりませんでした。 'bindValue( ':userinput'、$ search)' –

+0

@WardSegersそれをバインドした後に '$ search'を変更するならば、それはbindValueでなければなりません。あなたがそれを見つけてうれしいです。 –

関連する問題