Ma per velocizzare intendi diminuire il tempo di esecuzione o scrivere codice più velocemente/meno codice?
Ad ogni modo, in questo caso io avrei usato un array associativo:
Codice PHP:
$db->insert("users", array(
"campo1" => "valore1",
"campo2" => "valore2",
// ..
));
Codice PHP:
public function db_insert($table, $data) {
$fields = join("`,`", array_keys($data));
$values = join("','", array_map( array(self, "real_escape_string"), array_values($data) )); // real_escape dei valori
$query = "INSERT INTO `$table` (`$fields`) VALUES ('$values')";
// la query deve essere eseguita...
}
p.s. un'altra soluzione 'elegante' sarebbe usare la classe mysqli_stmt.
I metodi prepare, bind_param e bind_result permettono di eseguire le query diversamente.
La query va preparata:
Codice PHP:
$db = new mysqli(...);
$query = $db->prepare("INSERT INTO ? (?, ?) VALUES (?, ?)");
$query->bind_param("ssssi", "users", "name", "age", "Pippo", 20);
// la query è ora: INSERT INTO users (name, age) VALUES ('Pippo', 20)
$query->execute();
Ovviamente se ti interessa, puoi approfondire sul sito di php ;)