PHP proporciona bastantes funciones convenientes que hacen muchas de las cosas que haces a mano.
- PDO admite parámetros con nombre en sus declaraciones SQL, para que luego pueda pasar una matriz de clave/valor donde las claves coincidan con los marcadores de posición de su parámetro nombrado.
- El
join()
La función es muy útil para crear listas separadas por comas. - Existen muchas funciones para manipular matrices .
- Algunas funciones le permiten dar una devolución de llamada (que puede ser un cierre en PHP 5.3), para procesar matrices dinámicamente.
Ejemplo (no probado):
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);
}