Programación Web y Scripting > PHP

 Insertar Fecha En Bd

(1/2) > >>

cesarc:
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:
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:
Bueno, yo una fecha la ingreso así:


--- Código: Text --- &#036;Full_Day = date('Y') . '-' . date('n') . '-' . date('w');   
Y el campo en donde se va a guardar, es de tipo date.

Y para el insert utilizo


--- Citar ---'$_POST[Full_Day]'

--- Fin de la cita ---

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:
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:
El error, según veo está aquí.....


--- Código: Text ---&#036;fecha_hecho=&#036;dia_hecho. '-' .&#036;mes_hecho. '-' .&#036;agno_hecho;  
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:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa