忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP PDO prepareでLIKE(部分一致)検索するときのbindValueのパラメータ
ふつうに「%」で括ってもうまくいかない。
sqlを直に実行するとふつうに動くので、bindValueがうまくいっていない模様。
原因は、「%」をくっつけるタイミングでした。

$query = "select * from table where testdata like :value ";
$stmt = $pdo->prepare($query);
$stmt->bindValue(":value", '%'. $value .'%', PDO::PARAM_STR);


sql文中ではなく、bindValueのときに付けてあげるのが正しいみたい。

ちなみに間違ったのはこういう記述↓
$query = "select * from table where testdata like %:value% ";


あとこれも↓
$query = "select * from table where testdata like ':value' ";



参考URL
http://okwave.jp/qa/q3863004.html
- 20 - 19 - 18 - 17 - 16 - 15
 top next
BACKGROUND / tudu*uzu
TEMPLATE / Lenny
忍者ブログ [PR]