

%値%  
で部分的に一致したレコードを取り出せる LIKEを使った条件式についてです

現在PHPを使いMySQLからデータを取得する検索機能の基本の処理を書いています  
検索結果の取得まではうまくいってるんですが、表示がおかしいです

例えば「test1」というレコードがあったとして検索フォームに「t1」と入れると test1というレコードが返ってきてしまいます

原因は、なんとなく気づいたのが前方一致(%)と後方一致(%)で値を挟んでるから先頭と端の文字がマッチしてしまってるのでは？  
と思ってみたんですが・・・どうなのでしょうか？

以下がそのコードの一部分です

[code]

    $stmt = $pdo->prepare("select * from search where word LIKE :word");
    $stmt->execute([(':word' => "%$word%"]);
    
[/code]

`$word`には$_POSTで取得した入力された値が入っています

実現したい事は

先頭と端の文字を入力したからといって一致しているレコード取り出さない事  
続いてる文字のみをマッチさせる事

です。お助けください


CC BY-SA 3.0
2016-04-07T12:48:31.580
23825
2016-04-07T15:23:46.630
2016-04-07T15:23:46.630
76
15080
question
php mysql
あいまい検索の部分一致について


`%`は空文字列にもマッチしますから、`%t1%` が tes **t1** にマッチします。


CC BY-SA 3.0
2016-04-07T14:37:19.450
23830
2016-04-07T14:37:19.450
5793
23825
answer