• Jueves 14 de Noviembre de 2024, 04:04

Autor Tema:  Insertar Fecha En Bd  (Leído 2335 veces)

cesarc

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Insertar Fecha En Bd
« en: Miércoles 2 de Junio de 2004, 02:04 »
0
Saludos...

Tengo una tabla (hecho varchar(), fecha_hecho timestamp, fecha_registro date) .

En un formulario recojo hecho (tipificado) y fecha_hecho con 3 select (dia, mes, año), mientras que fecha_registro lo tomo del sistema.

</form>
<?php
$fecha=getdate();
    $dia=$fecha["mday"];
    $mes=$fecha["month"];
    $agno=$fecha["year"];
    $fecha_registro=$dia.$mes.$agno;
    $fecha_hecho=$dia_hecho.$mes_hecho.$agno_hecho; /* estas variables son las del formulario */
    pg_connect($dbname);
    $sql_ins_den="insert into
                        denuncia
                        values($hecho,'$fecha_hecho','$fecha_registro')";
    pg_exec($dbname,$sql_ins_den);
    pg_close($dbname);
?>
</body></html>

Cuando doy guardar en el formulario, sale:
Warning: Supplied argument is not a valid PostgreSQL link resource in /home/cesar/public_html/prueba.php on line /*donde esta el  pg_exec($dbname,$sql_ins_den);

Nunca he trabajado con fechas en BD, asi que no descarto la posibilidad de que lo este haciendo mal (terriblemente?)

Orientenme, por favor...

cesarc

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Insertar Fecha En Bd
« Respuesta #1 en: Miércoles 2 de Junio de 2004, 05:59 »
0
Disculpen, el error es:

Warning: PostgreSQL query failed: ERROR: Bad date external representation 'Array' in /home/cesar/public_html/denuncia.php on line // del pg_exec($conexion,$sql_ins_den);

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Insertar Fecha En Bd
« Respuesta #2 en: Miércoles 2 de Junio de 2004, 09:04 »
0
Bueno, yo una fecha la ingreso así:

Código: Text
  1.  
  2. &#036;Full_Day = date('Y') . '-' . date('n') . '-' . date('w');
  3.  
  4.  

Y el campo en donde se va a guardar, es de tipo date.

Y para el insert utilizo

Citar
'$_POST[Full_Day]'

A simple vista....el error se genera porque el formato de fecha que le pasas a tu consulta, está equivocado. Recuerda, 2004-06-02......Y no!!!! 20040602......

Saludos,

Blag  :devil:

cesarc

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Insertar Fecha En Bd
« Respuesta #3 en: Miércoles 2 de Junio de 2004, 18:40 »
0
veamos...
Lo arreglo segun la recomendacion:

</form>
<?php
$dia=$fecha["mday"];
$mes=$fecha["month"];
$agno=$fecha["year"];
$fecha_registro=date('Y') . '-' . date('n') . '-' . date('j');
$fecha_hecho=$dia_hecho. '-' .$mes_hecho. '-' .$agno_hecho; /* estas variables son las del formulario */
pg_connect($dbname);
$sql_ins_den="insert into denuncia
values($hecho,'$fecha_hecho','$fecha_registro')";
pg_exec($dbname,$sql_ins_den);
pg_close($dbname);
?>
</body></html>

y arroja:
Warning: PostgreSQL query failed: ERROR: Bad timestamp external representation '' in /home/cesar/public_html/denuncia.php on line //donde esta el

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Insertar Fecha En Bd
« Respuesta #4 en: Miércoles 2 de Junio de 2004, 18:53 »
0
El error, según veo está aquí.....

Código: Text
  1. &#036;fecha_hecho=&#036;dia_hecho. '-' .&#036;mes_hecho. '-' .&#036;agno_hecho;
  2.  

El código que yo te digo tiene el formato para campos de tipo DATE. El timestamp tiene otro formato. La verdad es que en este momento no se cual sea......Pero debes modificar como te digo la creación de $Fecha_Hecho para que tenga el formato del timestamp.

Saludos,

Blag  :devil:

fernando13

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Insertar Fecha En Bd
« Respuesta #5 en: Lunes 9 de Agosto de 2004, 23:34 »
0
Saludos..

No estoy muy seguro pero si de algo te sirve, el camop que tienes definido como timestamp es un formato de hora, el cual se debe representar asi:
hh:mm:ss, de esta manera la base de datos si te graba el dato.

Chao a todos.. :comp: