- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:部分一致検索ができなくて困っています。)
部分一致検索ができなくて困っています
このQ&Aのポイント
- 部分一致検索ができない場合、sprintfを使用して部分一致検索を実現する方法を知りたいです。
- 現在のコードでは完全一致検索になっており、部分一致検索に変更したいです。
- sprintfを使わずに、LIKE演算子を使用して部分一致検索を行う方法も知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
すみません。書き方が悪かったです。 >query = sprintf("SELECT * FROM dive_free_tbl_ WHERE u_address = '%s' ORDER BY serial DESC", $u_address); WHERE句の「=」を「LIKE]に変えてください。 「=」は完全一致、「LIKE」は部分一致の検索をします。
その他の回答 (1)
- sippo06
- ベストアンサー率25% (7/27)
回答No.1
こんにちわ >$query = sprintf("SELECT * FROM dive_free_tbl_ WHERE u_address = '%s' ORDER BY serial DESC", $u_address); ↑「WHERE u_address = '%s' 」とWHERE句が「=」になっているからではないかと思われます。
質問者
補足
こんちには、回答を頂きありがとう御座います。 指摘いただいた、「=」を取っていろいろとやってみましたが、 「部分一致検索」は、どうにも実現できませんでした。 実行した内容は、質問の文章にも書きましたが、 WHERE u_address '%s' ORDER BY serial DESC", LIKE'%$u_address%'); WHERE u_address '%s' ORDER BY serial DESC", LIKE'[%$u_address]%''); WHERE u_address '%s' ORDER BY serial DESC", LIKE'{%$u_address}%''); を実行してみました。(WHERE以降を抜粋) エラーが表示されて、部分一致検索はできませんでした。 何か、いい方法がありましたらお願いいたします。
補足
※ご教授いただいたとおり、" = "を" LIKE "に変更した場合、エラー無く検索できました。 本当にありがとう御座います。 1)" = "を" LIKE "に変更。 2)「 $u_address 」を「"%$u_address%"」に変更。 これで、バッチリでした。本当にありがとう御座います。 今後もお世話になることがあるかと思いますが、よろしくお願いします。 本当にありがとう御座いました。