O PHP fornece algumas funções de conveniência que fazem muitas coisas que você está fazendo manualmente.
- O PDO suporta parâmetros nomeados em suas instruções SQL, para que você possa passar uma matriz de chave/valor em que as chaves correspondam aos seus espaços reservados de parâmetro nomeados.
- O
join()
A função é muito útil para construir listas separadas por vírgulas. - Existem muitas funções para manipular arrays .
- Algumas funções permitem que você dê um retorno de chamada (que pode ser um closure no PHP 5.3), para processar arrays dinamicamente.
Exemplo (não testado):
function insertFields($fields) {
$columns = join(",", array_map(
function($col) { return "`".preg_replace("/`/gu","``",$col)."`"},
array_keys($fields)));
$params = join(",", array_map(
function($col) { return ":".preg_replace("/[`\s]/gu","",$col)},
array_keys($fields)));
$stdquery = "INSERT INTO masteridx ({$columns}) VALUES ({$params})";
$stmt = $pdo->prepare($stdQuery);
$stmt->execute($fields);
}