PHPには、手作業で行っている多くのことを実行する便利な関数が多数用意されています。
- PDOは名前付きパラメーターをサポートします SQLステートメントで、キーが名前付きパラメーターのプレースホルダーと一致するキー/値配列を渡すことができます。
-
join()
関数は、コンマ区切りのリストを作成するのに非常に便利です。 - 配列 を操作するための多くの関数が存在します 。
- 一部の関数では、コールバック を提供できます。 (PHP 5.3ではクロージャになる可能性があります)、配列を動的に処理します。
例(テストされていません):
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);
}