なんだ、このコードは?
if($_GET['search_keyword']) $where = " 列0 like '%".$_GET['search_keyword']."%'"; if(!$where) $where=" 1= 1 and 列A !='' and 列B=0 "; else $where .=" and 1= 1 and 列A !='' and 列B=0 ";
入力情報に応じてSQLを組み立てている部分ですね。で、「 1= 1 」って何よ?
条件に応じてwhere句を書き加えていく場合、最初に「1 = 1」って作って、それに、「 and (条件)」をくっつけていくというのがよくあるパターン。
それによく見ると、二つ目のif文って、一つ目のまとめられるし。
筋悪いなー。
ついでに$_GET['search_keyword'] はSQLインジェクションできるので、エスケープ処理を入れてやる必要がある。
if($_GET['search_keyword']){ /* エスケープ処理(例) */ $search_keyword = mysql_real_escape_string($_GET['search_keyword']); $where = " 列0 like '%".$search_keyword."%' and 列A !='' and 列B=0 "; }else{ $where = "列A !='' and 列B=0 "; }
でいい。