最终代码:
1 function pdo_array_query($pdo, $table_name, $data, $fields=array('*')){ 2 //Will contain SQL snippets. 3 $rows_sql = array(); 4 //Will contain the values that we need to bind. 5 $to_bind = array(); 6 //Get a list of column names to use in the SQL statement. 7 $codition_array = array(); 8 9 $codition_string = ""; 10 11 foreach($data as $column_name => $column_value){ 12 $codition_array[] = $column_name.' = :'.$column_name; 13 $param = ":" . $column_name; 14 $to_bind[$param] = $column_value; 15 } 16 $codition_string = implode(" and ", $codition_array); 17 $fields_string = implode(", ", $fields); 18 19 $sql = "SELECT $fields_string FROM `$table_name` WHERE ".$codition_string; 20 21 //Prepare our PDO statement. 22 $pdo_statement = $pdo->prepare($sql); 23 24 foreach($to_bind as $param => $val){ 25 $pdo_statement->bindValue($param, $val); 26 } 27 // return $pdo_statement->execute(); 28 $pdo_statement->execute(); 29 $result = $pdo_statement->fetchAll(); 30 return $result; 31 //print_r($result); 32 }