Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/06/2015, 10:47
JM0N
 
Fecha de Ingreso: febrero-2014
Mensajes: 46
Antigüedad: 10 años, 3 meses
Puntos: 1
Respuesta: UPDATE SET valor+1

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bueno, por lo pronto lo que estás escribiendo está sintácticamente MAL en SQL:
Código SQL:
Ver original
  1. UPDATE voto
  2.   SET voto = voto + '".$_POST['rate']."'
  3.   AND numero_voto =  numero_voto+1

No se peude usar un AND en ese punto. Para indicar dos campos afectados por el SET se los debe separar por comas:
Código SQL:
Ver original
  1. UPDATE voto
  2.   SET voto = voto + '".$_POST['rate']."' , numero_voto =  numero_voto+1

En segundo lugar, no trates los valores de una suma como caracteres. Los numeros no son cadenas de texto, y no deben quedar entre apostrofos ('):

Código SQL:
Ver original
  1. UPDATE voto
  2.   SET voto = voto + ".$_POST['rate']." , numero_voto =  numero_voto + 1

En tercer lugar, la sentencia que pones es un UPDATE masivo, porque no le estás indicando a cuál registro de voto debe sumarle nada. Por consecuencia le sumará uno a todos y cada uno de los registros que existan en la tabla, y en todos los casos sumará uno además al campo "numero_voto".

Me parece que estás planteando mal todo el tema... La solución debería ser diferente, y los votos deberían estar en una tabla especifica, relacionada con el tema votado y con el usuario que vota.
De ese modo podrías obtener el total de votos con una simple consulta, en lugar de andar haciendi UPDATEs innecesarios.
Gracias por comentar, elimine el WHERE para hacer el tema, pero si que hay un WHERE.

Haciendolo de la siguiente manera, tampoco me funciona.
Código MySQL:
Ver original
  1. SET voto = voto + ".$_POST['rate'].", numero_voto =  numero_voto+1