sql文の書き方
いつもこちらで勉強させていただきます。
環境:mysql5.0 PHP5.1.4 apache 2.0.58
いま画面からパラメータ5受け取りました。
これをもってsql文を書こうとするが必須入力項目ではないため一つずつ判断して書いたら30種類の可能性がでてきてすごく長くなってしまいましたがなんか短縮させるいい方法はありませんか?またこれをファンクションで作り直そうとしたらちょっとうまくいかないのでどなたか教えてもらえませんか?ファンクションで渡すパラメータ($sql?$query?あるいは各パラメータですか? )は何にすればいいか?取得したい検索結果は配列です。ファンクション戻り値を連想配列にすることは可能ですか?ちょっと困っています。
$sql = "SELECT * FROM file_tbl WHERE";
// A だけの場合
if ( $b == "" and $c == "" and $d=="" and $e==""){
$sql = $sql." a='%s' order by b DESC,a";
$query = sprintf("$sql",
mysql_real_escape_string($a));
// B だけの場合
}else if( $a == "" and $c == "" and $d=="" and $e==""){
$sql = $sql." b >='%s' order by b DESC,a";
$query = sprintf("$sql",
mysql_real_escape_string($b));
// Cだけの場合
}else if( $a == "" and $b == "" and $d=="" and $e==""){
$sql = $sql." c <='%s' order by b DESC,a";
.
.
.
// SQL クエリを実行する
$result = mysql_query($query);
よろしくご教授願います。
お礼
ありがとうございます。