Me conmueve tu pereza de leer... en el tema que te pase esta explicado perfectamente porque no te funciona y explican como para ñoños como funciona PDO, pero bueno hoy estoy de buen humor y te dire que es lo que pasa tal cual me enseño @GatorV, es mas voy a copiar y pegar el texto de @GatorV ya que el credito es para el:
Cita: Cuando tu mandas un query, por ejemplo SELECT * FROM foo WHERE bar = ?, este query como tal, literal se envía a MySQL (con todo y el ?), el motor de MySQL analiza el query, y ve el placeholder y dice "ok espero una variable de entrada", entonces ejecuta el query y lo deja en un estado compilado, luego PDO al hacer el execute, le dice del query que te envié, estos son los parámetros, y entonces hace la ejecución del Query.
SOLUCION PARA AUMENTAR MAS TU PEREZA
$sql= "UPDATE anuncio SET campo1 = ?, campo 2 = (NOW()) WHERE id = ?";