Git / GitHub не может подтолкнуть к мастеру

Спасибо всем. Каждый ответ был полезен, и я хотел бы разделить щедрость.

В конце, к моему удивлению, я смог сделать это так же, как и раньше, на основе принятого ответа

$fields = array("login","password");
$_POST['password'] = MD5($_POST['login'].$_POST['password']);
$stmt = $dbh->prepare("UPDATE users SET ".pdoSet($fields,$values)." WHERE id = :id");
$values["id"] = $_POST['id'];
$stmt->execute($values);

. Его можно обернуть в вспомогательную функцию , но я сомневаюсь, что есть необходимость. Он сократит код только на одну строку.

Код pdoSet:

function pdoSet($fields, &$values, $source = array()) {
  $set = '';
  $values = array();
  if (!$source) $source = &$_POST;
  foreach ($fields as $field) {
    if (isset($source[$field])) {
      $set.="`$field`=:$field, ";
      $values[$field] = $source[$field];
    }
  }
  return substr($set, 0, -2); 
}
147
задан Peter Mortensen 1 November 2015 в 10:10
поделиться