- ベストアンサー
どうしても、%$keyword%でひっかかると、そちらを食ってしまいます。
$sql = "select * from $OP_TNAME where option_settingname_num='$session_option_settingname_num'"; if($optionname[1]!='' && $optionname[1]!='a' && $keyword!=''){ $sql .= " and field1 like '%$keyword%'"; } for($i=2;$i<=30;$i++){ if($optionname[$i]!='' && $optionname[$i]!='a' && $keyword!=''){ $sql .= " or field".$i." like '%$keyword%'"; } } $sql .= " order by nowdate"; 上記で、 where option_settingname_num='$session_option_settingname_num'を絶対条件にしたいのですが、うまくいきません。 どうしたらよいでしょうか。 どうぞ宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どううまくいきませんか? and や or で引っかかっているのならば 括弧をつけてその範囲を明示的にしてやらないと思った通りにならないと思います。
お礼
上記の前に試した明示的に弧を付ける方法にミスがありました。 修正後、現在正常に動作しております。 大変助かりました。 ご指摘頂き、有難う御座いました。
補足
$keywordに該当すると、where option_settingname_num='$session_option_settingname_num'"の条件が無視されてしまいます。