se supone que el array $data realmente es el array $_POST, porque los datos los recibes de un formulario, yo le he llamado $data para que tu sigas en el contexto, para que te hagas una idea:
Código PHP:
/*
tengo esta tabla en mi bd
table user {
id,
name,
email,
password
}
*/
if(!isset($_POST['submit'])) {
//si no hay submit, enseño el formulario
echo '
<form method="POST">
formulario login
<input type="text" name="email" />
<input type="password" name="password" />
<input type="submit" name="submit" />
</form>';
}
else {
//si he recibido el form, monto la consulta y la ejecuto
$query = "UPDATE clientes SET ";
foreach($_POST as $key => $value) {
if(is_string($value))
$value = "'$value'";
if($key !== 'submit')
$query .= $key . '=' . $value . ',';
}
$query = rtrim($query, ',');
echo $query;
//aqui hago un echo para que veas en tu pantalla el resultado que buscas
//deberias ejecutar algo parecido a mysql_query para ejecutar la consulta
}
como veras el nombre de los campos del form coinciden con el nombre de los campos de la tabla, esto no es estrictamente necesario, pero manteniendo este orden te enteraras mas de lo que estas escribiendo, es decir, es una buena practica de programacion