Foros del Web » Programando para Internet » PHP »

Query añade dos unidades en vez de una

Estas en el tema de Query añade dos unidades en vez de una en el foro de PHP en Foros del Web. hola, tengo una query del tipo mysql_query("UPDATE contador SET impresiones=impresiones+1"); solamente ese codigo para contar las impresiones, y me da un error que nunca me ...
  #1 (permalink)  
Antiguo 16/04/2007, 16:28
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Query añade dos unidades en vez de una

hola, tengo una query del tipo

mysql_query("UPDATE contador SET impresiones=impresiones+1");

solamente ese codigo para contar las impresiones, y me da un error que nunca me ha ocurrido como por ejemplo para contar clicks, y es que siempre añade dos impresiones en vez de una, he probado de mil maneras, includo haciendo un archivo solamente para contar esas impresiones y siempre me añade dos, y nada mas que entro yo porque es un archivo creado especificamente para comprobar el funcionamiento a parte de la web...

que creeis que puede fallar???

un saludo y gracias
  #2 (permalink)  
Antiguo 16/04/2007, 16:41
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

no será porque le falta el where, es decir, si actualizas debes especificar el registro que se debe de actualizar y eso se logra por medio de un where ya que de lo contrario no sabria que actualizar(eso es lo que creo)

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 16/04/2007, 16:47
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

gracias por tu respuesta, no se porque nada mas que hay un registro, es decir, solo existe el campo impresiones y un solo registro, aun asi voy a añadir limit 1 a ver si asi me funciona

un saludo
  #4 (permalink)  
Antiguo 16/04/2007, 16:50
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

nada he probado con el limit, he probado a añadir un campo id y he hecho el where y sigue añadiendo dos valores :(
  #5 (permalink)  
Antiguo 16/04/2007, 16:54
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pues el problema puede estar en el insert ya que el update actualiza los registros en la tabla a menos que se le ponga un limite de lo contrario actualizará todo lo semejante, sin embargo, el insert tiene la capacidad de agregar mas registros y pudiera ser que por allí vaya el asunto, deberías de checar si no repites el insert, creo que la mejor manera seguir manualmente el codigo como si se estuviera ejecutando.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 16/04/2007, 17:02
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

no hay ningun insert, solo un update, es decir, solo hay una tabla (contador), y un campo (impresiones), el valor por defecto es 0, e inserte yo manualmente un valor (0)

y cada vez que entro en la pagina me actualiza dos impresiones, he quitado el codigo por si estuviera repetido y no actualiza el registro...

tambien he probado a poner ese codigo en un archivo a parte e incluirlo con un require_once, y sigue añadiendo dos registros...

es algo rarisimo no se como puede estar pasando a lo mejor es algun error tonto pero me esta dando quebraderos de cabeza...

un saludo y gracias por tu respuesta
  #7 (permalink)  
Antiguo 16/04/2007, 17:24
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pues la verdad si se me hace raro, de casualidad no tienes declarado como autoincrement el campo impresiones,o que tel si colocas un id, es decir que tu tabla sea
contador
y los campos
id impresiones
1 0 //esto son los valores para iniciar

y que hagas tu consulta así

mysql_query("UPDATE contador SET impresiones=impresiones+1 WHERE id=1");

eso es lo que se me ocurre por ahora, suerte.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 16/04/2007, 17:32
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

Cita:
Iniciado por eits Ver Mensaje
pues la verdad si se me hace raro, de casualidad no tienes declarado como autoincrement el campo impresiones,o que tel si colocas un id, es decir que tu tabla sea
contador
y los campos
id impresiones
1 0 //esto son los valores para iniciar

y que hagas tu consulta así

mysql_query("UPDATE contador SET impresiones=impresiones+1 WHERE id=1");

eso es lo que se me ocurre por ahora, suerte.

si asi lo hice

Cita:
nada he probado con el limit, he probado a añadir un campo id y he hecho el where y sigue añadiendo dos valores :(

es mas he probado otro sistema basandome en una consulta que uso para otro tipo de cosas...

$consulta=mysql_query("SELECT impresiones FROM contador");
$resultado=mysql_fetch_row($consulta);
$resultado[0]++;
mysql_query("UPDATE contador SET impresiones='$resultado[0]'");

sigue añadiendo dos...

y si pruebo con

mysql_query("UPDATE contador SET impresiones=impresiones+2");

pues añade 4.. que resto 3... pues resta 6...
  #9 (permalink)  
Antiguo 16/04/2007, 17:38
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

a ver, dejame ver si entendi, lo que te añade no son registros es solo que la suma lo duplica ¿¿es eso correcto??
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #10 (permalink)  
Antiguo 16/04/2007, 17:45
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

Cita:
Iniciado por eits Ver Mensaje
a ver, dejame ver si entendi, lo que te añade no son registros es solo que la suma lo duplica ¿¿es eso correcto??
como dije arriba, no añade registros, solo hay un registro... solo los actualiza

Cita:
no se porque nada mas que hay un registro, es decir, solo existe el campo impresiones y un solo registro
Cita:
no hay ningun insert, solo un update, es decir, solo hay una tabla (contador), y un campo (impresiones), el valor por defecto es 0, e inserte yo manualmente un valor (0)
resumo...

Código:
TABLA (1) ---> contador
CAMPO (1) ---> impresiones
REGISTROS (1) ---> xx

CREATE TABLE `contador`(
`impresiones` int(10) NOT NULL default '0',
) ENGINE=MyISAM;

INSERT INTO `contador` (`impresiones`) VALUES (84);
y en este caso, si visito esa pagina, en vez de convertirlo en 85... lo convierte en 86... y asi sucesivamente
  #11 (permalink)  
Antiguo 16/04/2007, 17:59
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pues la verdad es que yo cree la tabla como me la mandaste con la unica exepcion que fue en innoDB (es que meti la tabla en una base de datos de ese tipo) y le hice el insert con el valor 84 y utilicé este query mysql_query("UPDATE contador SET impresiones=impresiones+1") y a mi me funciono muy bien, revise la tabla y me devolvio 85. la verdad no se que pueda ser, lo único que se me ocurre es que haya problemas con la base de datos, a lo mejor si reinicias el mysql quede bien, de todas maneras seguiré investigando para dar con el error.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #12 (permalink)  
Antiguo 16/04/2007, 18:01
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

muchas gracias :) , pedire un reset fisico a ver

un saludooo
  #13 (permalink)  
Antiguo 17/04/2007, 01:18
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

pues sigue dando morcilla... :(
  #14 (permalink)  
Antiguo 17/04/2007, 08:06
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pon el codigo del proceso para darle una revisada, porque ya no se me ocurre nada mas por el momento.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #15 (permalink)  
Antiguo 18/04/2007, 22:39
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

el codigo es el de arriba del todo...

es decir

<?php

la conexion aqui

mysql_query("UPDATE contador SET impresiones=impresiones+1");

?>

y da el problema ese :S
  #16 (permalink)  
Antiguo 19/04/2007, 08:15
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pues la verdad, no veo ningun problema, eso debería de funcionar perfectamente, un intento mas, prueba haciendo otra tabla pero con nombres diferentes y si vuelve a hacer lo mismo lo mas probable es que sea problema del manejador de la base de datos.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #17 (permalink)  
Antiguo 19/04/2007, 09:48
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Query añade dos unidades en vez de una

juaz... si miras http://www.forosdelweb.com/f18/misterio-duplica-aumento-db-471370/
me pasaba lo mismo

y en realidad me sigue pasando, la unica posible explicacion q encontre fue q este compartamiento sea culpa de ModRewrite......
  #18 (permalink)  
Antiguo 19/04/2007, 11:49
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

pues creo que la única forma de saberlo, es que deshabilites el mod_rewrite y hagas las pruebas a ver que tal.

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #19 (permalink)  
Antiguo 19/04/2007, 14:27
Avatar de HMSJUAN  
Fecha de Ingreso: febrero-2007
Mensajes: 54
Antigüedad: 17 años, 1 mes
Puntos: 1
De acuerdo Re: Query añade dos unidades en vez de una

Un novaro Responde:


Saludos

En mi opinion Debes Primero Consultar en numero de impreciones
me imagino que solo hay un registro
$sql="select impreciones from contador";
$dato=mysql_fetch_array($sql)
$cantidad=$dato[0]+1

mysql_query("UPDATE contador SET impresiones='$cantidad' WHERE id=1");

algoasi te funcionaria
creo

Att. Un Novato
  #20 (permalink)  
Antiguo 20/04/2007, 08:10
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

Cita:
Iniciado por eits Ver Mensaje
pues creo que la única forma de saberlo, es que deshabilites el mod_rewrite y hagas las pruebas a ver que tal.

suerte y saludos.
bueno a ver si tengo acceso al httpconf o algo asi para poder desactivarlo, pero entro en el script directamente, es decir que he creado un archivo especial por si el error residia en la web completa pero veo que no :(
  #21 (permalink)  
Antiguo 20/04/2007, 08:12
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Query añade dos unidades en vez de una

Cita:
Iniciado por HMSJUAN Ver Mensaje
Un novaro Responde:


Saludos

En mi opinion Debes Primero Consultar en numero de impreciones
me imagino que solo hay un registro
$sql="select impreciones from contador";
$dato=mysql_fetch_array($sql)
$cantidad=$dato[0]+1

mysql_query("UPDATE contador SET impresiones='$cantidad' WHERE id=1");

algoasi te funcionaria
creo

Att. Un Novato
yo lo intente con esto que es mas o menos lo mismo

Cita:
es mas he probado otro sistema basandome en una consulta que uso para otro tipo de cosas...

$consulta=mysql_query("SELECT impresiones FROM contador");
$resultado=mysql_fetch_row($consulta);
$resultado[0]++;
mysql_query("UPDATE contador SET impresiones='$resultado[0]'");
pero bueno me rindo jejeje lo que hare es dividir el resultado entre 2 antes de mostrarlo xD es lo unico que se me ocurre

muchas gracias a todos por vuestro interes :)
  #22 (permalink)  
Antiguo 20/04/2007, 08:48
Avatar de HMSJUAN  
Fecha de Ingreso: febrero-2007
Mensajes: 54
Antigüedad: 17 años, 1 mes
Puntos: 1
De acuerdo Re: Query añade dos unidades en vez de una

No te rindas tan facil:
hagamos Algo, Postera el codigo que usas ademas de la estructura de la tabla que usas..
Y veras como te lo devuelbo resuelto

Vale
  #23 (permalink)  
Antiguo 20/04/2007, 09:24
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Query añade dos unidades en vez de una

como solucion pronta creo que esta bien, pero lo correcto es saber el ¿por qué? del error, ya que si en algun momento se corrige el error o te cambias de servidor lo mas probable es que vuelvas con el problema, claro lo solucionarias quitando la division, pero digamos que tenerlo con la division no es lo óptimo.

en cuanto a lo que dice HMSJUAN
Cita:
Iniciado por HMSJUAN Ver Mensaje
No te rindas tan facil:
hagamos Algo, Postera el codigo que usas ademas de la estructura de la tabla que usas..
Y veras como te lo devuelbo resuelto

Vale
el problema en si, no es el código ya que yo he echo pruebas con lo que erfbidejeree me a dicho y a mi me a funcionado

pero bien, no esta de mas volverlo a intentar.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #24 (permalink)  
Antiguo 20/04/2007, 11:14
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Query añade dos unidades en vez de una

Cita:
pero bueno me rindo jejeje lo que hare es dividir el resultado entre 2 antes de mostrarlo xD es lo unico que se me ocurre
o a mi tambien se me ocurrio eso en su momento, o sino, q el contador sea un float y sumas 0.5 x visita XD
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.