Foros del Web » Programando para Internet » PHP »

No realiza el insert correctamente

Estas en el tema de No realiza el insert correctamente en el foro de PHP en Foros del Web. Gente, q tal? Les escribo por lo siguiente. Estoy trabajando en una aplicación PHP y MSSQL. Estoy teniendo un problema con un insert en la ...
  #1 (permalink)  
Antiguo 08/12/2005, 07:38
 
Fecha de Ingreso: julio-2003
Mensajes: 43
Antigüedad: 20 años, 8 meses
Puntos: 0
No realiza el insert correctamente

Gente, q tal?
Les escribo por lo siguiente. Estoy trabajando en una aplicación PHP y MSSQL.
Estoy teniendo un problema con un insert en la base especificamente en un solo campo.
este es el Query

Código PHP:
$link db_connect();
$sql1 "INSERT INTO historial_host (id_host, fecha_down) VALUES ('" $id "', '" date("Ymd H:i:s") . "')";
echo 
"<TD>".$sql1."</TD>";
mssql_query($sql1);// or Die("Error en la consulta n° 1/0"); 
Funciona perfecto excepto q no inserta los segundos.
Si escribo el query resultante en pantalla queda así:
INSERT INTO historial_host (id_host, fecha_down) VALUES ('320', '" . date("20051208 10:45:32") . "

Pero cuando voy a ver el campo insertado en la base me aparece: 20051208 10:45:00 Y si realizo una consulta de este campo como es obvio me trae el resultado con los segundos en 00.

El campo en la base MSSQL es de tipo smalldatetime. Tienen alguna idea de q puede ser lo q esta fallando?

Muchas gracias
  #2 (permalink)  
Antiguo 08/12/2005, 08:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías consultar en el foro de Base de datos por el tipo concreto de fecha (formato) que implica en MS SQL Server un "smalldatetime" .. a lo "peor" (para ti) sólo conserva fecha, hora y minutos (sin segundos). En cualquier caso .. tu solución pasaría por cambiar el tipo de campo de esa fecha por otro que contenga segundos o bien conocer este problema y asumirlo.

Un saludo,
  #3 (permalink)  
Antiguo 08/12/2005, 11:31
 
Fecha de Ingreso: julio-2003
Mensajes: 43
Antigüedad: 20 años, 8 meses
Puntos: 0
gracias cluster por la respuesta.
Lo q no me cierra es el tema que yo entro al sql server y en ese mismo campo smalldatetime puedo cambiar los segundos que se insertaron (inserta 00 y lo cambio a 45 por ej.)
Cuando hago el select me trae esos segundos. Es muy raro.
Igualmente voy a consultar en el foro de base de datos, si quieren este thread pueden cerrarlo para evitar duplicados.

Gracias.
  #4 (permalink)  
Antiguo 08/12/2005, 12:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
También revisa en el foro de "Base de datos" o consulta por alguna función de SQL nativa de SQL Server que incrustre la hora actual (como en Mysql por ejemplo está el NOW() o CURDATE() que entrega esa hora y/o con fecha, pero lo hace el motor de la BD .. no es necesario usar "PHP" para dar ese valor de la hora actual ..)

Un saludo,
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 16:31.