Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/06/2015, 10:34
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: UPDATE SET valor+1

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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)