Comunidad de diseño web y desarrollo en internet online

actualizar multiples registros en baseMysql

Citar            
MensajeEscrito el 08 Nov 2012 11:53 pm
Hola mi duda es sobre esto de actualizar un registro en la base de datos:
mi codigo es este:

Código MySQL :

$sql_ap="update historico set mensajes = '".$resultado."', logout=current_timestamp where cuenta='".$ses."'";
      $res_ap = mysql_query($sql_ap);


Todo parece funcionar con una excepcion, me altera 3 registros en lugar de dos.
segun yo en teoria solo se actualiza el campo mensajes y logout, pero tengo un campo que se llama login, y se rellena con el mismo valor que logout

la tabla es esta:
historico
login -->datos timestamp (objetivo guardar la hora en que se inicio sesion)
logout --->datos timestamp(objetivo guardar la hora en que se deslogeo)
mensajes --->string 200 (objetivo guardar los mensajes realizados en la secion)

Problema al ejecutar script login y logout acaban con la misma hora.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Nov 2012 12:34 am
Oie pues esta bien lo que haces... al final de cuentas el SQL esta bien.

¿estas seguro de que solo se ejecuta una vez? y que si lleva los valores que dice llevar?

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

despues de declararla a ver si si lleva los datos como deben ser
aplica un var_dump($sql_ap);

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 09 Nov 2012 12:58 am
Pues si de echo, anota lo que debe de anotar, lo unico que no entiendo es porque me actualiza un campo que nisiquiera esta en la declaracion, lo compruebo de la siguiente manera, me logueo en mi aplicacion, checo la base de datos y ok esta ahi el login, luego espero un poco de tiempo solo para ver bien los resultados, me deslogueo y saass checo la base de datos y login y logout tienen el mismo valor.
Que mas puede ser??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Nov 2012 12:12 pm
Como te dice el colega elportfirio, hace un var_dump($sql_ap); para ver la sentencia sql que se ejecuta.

Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 09 Nov 2012 04:19 pm
¿De qué tipo es el campo 'login' en la tabla de la base de datos?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Nov 2012 06:34 pm
Hola ya encontre la respuesta a mi problema, resulta que cuando usas timestamp en mysql en atributos se asigna algo que cada que actualices un registro se modifica el timestamp, lo que hice para modificar este error, fue declarar login y logout como, varchar de 19 y con php coloque una cadena con Date

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Nov 2012 10:17 pm
Ah ya veo, MySQL actualiza cada vez que usas la etiqueta que loco!! xD bendito PHP gracias por la información.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.