使用PHP中的array_keys和array_values构造SELECT WHERE查询

时间:2017-08-09 02:19:49

标签: php mysql

我能够使用array_keys和array_values为MySQL做INSERT

$columns = implode(", ", array_keys($cmd_array));
$escaped_values = array_map( $dbc->real_escape_string, array_values($cmd_array));
$values  = implode(", ", $escaped_values);
$query = "INSERT INTO cmd ($columns) VALUES ($values)";

是否有一项功能可以为SELECT WHERE这样做同样的事情?

$query = "SELECT * FROM  cmd WHERE ($columns) = ($values)";

1 个答案:

答案 0 :(得分:0)

您必须使用ANDOR运算符指定多个条件。 所以你可以用一个简单的循环来做到这一点

$select_query = "SELECT * FROM cmd WHERE ";
$temp_array = array();
foreach($cmd_array as $key=>$val){
    $temp_string = $key ." = ".$val;
    array_push($temp_array, $temp_string);
}
$select_query .= implode(" AND ", $temp_array);