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/ 示例:
如果 ($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 回答