0

私の名前はトニーです。SQL でこれを変更する方法を見つけようとしています: 1/

$sql = "select..from..where column_1 = ".$val_1." and column_2 = ".$val_2." and ...and column_n = ".$val_n." ";
------>
$sql = "select..from..where [ column,".$val." ] ";
列が 1 -> n に実行されます。$val は 1 -> n になります。2/ 例:
If ($val_2 == '') -> $sql = "...where column_1 = ".$val_1." and column_3 = ".$val_3." and ... column_n = ".$val_n." ";


できますか?どうもありがとうございました。

4

1 に答える 1

0

配列を作成し、空でない値で埋めます:

 $sql_where_clause = array();
 for ($i = 1; $i <= n; $i++)
 {
     $val_to_test = 'val_' . $i;
     if (!empty($$val_to_test))
         $sql_where_clause[] = "column_" . $i . " = '" . $$val_to_test . "'"; 
 }

 $sql = "select..from..where " . implode(" AND ", $sql_where_clause);
于 2013-09-02T07:58:00.803 に答える