@equazcionの回答から開始しますが、わずかに異なるコードメソッドを使用します:
function bindFields($fields) {
return implode(",", array_map(function ($f) { return "`$f`=:$f"; },
array_keys($fields)));
}
または、MySQL固有のINSERT...SET
の代わりに従来のINSERT構文が必要な場合 構文:
function bindFields($fields) {
return "(" . implode(",", array_map(function ($f) { return "`$f`"; },
array_keys($fields))) . ")"
. " VALUES (" . implode(",", array_map(function ($f) { return ":$f"; },
array_keys($fields))) . ")";
}