El tema es asi, tengo esta tabla en postgres:
 
Create table "cursillo_prematrimoniales"
(
	"id_prematrimonio" Integer NOT NULL,
	"id_usuario" Integer NOT NULL,
	"sr_prematrimonio" Varchar(200),
	"sra_prematrimonio" Varchar(200),
	"parroquia_prematrimonio" Varchar(200),
	"desde_prematrimonio" Date,
	"hasta_prematrimonio" Date,
	"sr_guia_prematrimonio" Varchar(200),
	"sra_guia_prematrimonio" Varchar(200),
	"fecha_emision_prematrimonio" Timestamp,
 primary key ("id_prematrimonio")
);
 
Y luego tengo este codigo php:
 
<?php
	//session_start();
	require ('../include/generic_lib.php');
	//$mi_sesion = unserialize($_SESSION['mi_sesion']);
	//$id_usuario = $mi_sesion->usuario_id;
	$obj_db = new db();
 
	$id_prematrimonio = $_POST["id_prematrimonio"];
	$sr_prematrimonio = $_POST["sr_prematrimonio"];
	$sra_prematrimonio = $_POST["sra_prematrimonio"];
	$parroquia_prematrimonio = $_POST["parroquia_prematrimonio"];
	$desde_prematrimonio = $_POST["desde_prematrimonio"];
	$hasta_prematrimonio = $_POST["hasta_prematrimonio"];
	$sr_guia_prematrimonio = $_POST["sr_guia_prematrimonio"];
	$sra_guia_prematrimonio = $_POST["sra_guia_prematrimonio"];
	$fecha_emision_prematrimonio = $_POST["fecha_emision_prematrimonio"];
 
	/*$id_prematrimonio = $_POST["id_prematrimonio"];
	$sr_prematrimonio = "'".strtoupper($_POST["sr_prematrimonio"])."'";
	$sra_prematrimonio = "'".strtoupper($_POST["sra_prematrimonio"])."'";
	$parroquia_prematrimonio = ($_POST["parroquia_prematrimonio"] == null) ? 'null' : "'".$_POST["parroquia_prematrimonio"]."'";
	$desde_prematrimonio = ($_POST["desde_prematrimonio"] == null) ? 'null' : "'".$_POST["desde_prematrimonio"]."'";
	$hasta_prematrimonio = ($_POST["hasta_prematrimonio"] == null) ? 'null' : "'".$_POST["hasta_prematrimonio"]."'";
	$sr_guia_prematrimonio = ($_POST["sr_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sr_guia_prematrimonio"]."'";
	$sra_guia_prematrimonio = ($_POST["sra_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sra_guia_prematrimonio"]."'";
	$fecha_emision_prematrimonio = ($_POST["fecha_emision_prematrimonio"] == null) ? 'null' : "'".$_POST["fecha_emision_prematrimonio"]."'";*/
 
	if($id_prematrimonio!= 0) {//Actualización
 
		$consulta_princ = "UPDATE cursillo_prematrimoniales SET sr_prematrimonio='$sr_prematrimonio', sra_prematrimonio='$sra_prematrimonio', parroquia_prematrimonio='$parroquia_prematrimonio'  , desde_prematrimonio='$desde_prematrimonio', hasta_prematrimonio='$hasta_prematrimonio', sr_guia_prematrimonio='$sr_guia_prematrimonio', sra_guia_prematrimonio='$sra_guia_prematrimonio' WHERE id_prematrimonio='$id_prematrimonio'";
		$obj_db->consulta($consulta_princ);
	}
	else {// Insertamos el nuevo alumno
		$consulta_princ = "INSERT INTO cursillo_prematrimoniales(id_prematrimonio, id_usuario, sr_prematrimonio, sra_prematrimonio, parroquia_prematrimonio, desde_prematrimonio, hasta_prematrimonio, sr_guia_prematrimonio, sra_guia_prematrimonio, fecha_emision_prematrimonio) VALUES (nextval('sec_cursillo_prematrimoniales'), '1', '$sr_prematrimonio', '$sra_prematrimonio', '$parroquia_prematrimonio', '$desde_prematrimonio', '$hasta_prematrimonio', '$sr_guia_prematrimonio', '$sra_guia_prematrimonio', '$fecha_emision_prematrimonio')";
		$obj_db->consulta($consulta_princ);
		echo $consulta;
		// Se obtiene el id_persona asignado
		$consulta = "select currval('sec_cursillo_prematrimoniales') as id_prematrimonio_asignado";
		$obj_db->consulta($consulta);
		$linea = $obj_db->tomar_fila();
		$id_prematrimonio = $linea["id_prematrimonio_asignado"];
	}
 
	if($obj_db->resultado)
		$respuesta = array("success"=>true, "id_prematrimonio"=>$id_prematrimonio, "consulta"=>$consulta_princ);
	else
		$respuesta = array("success"=>false, "id_prematrimonio"=>$id_prematrimonio, "consulta"=>$consulta_princ);
 
	echo json_encode($respuesta);
?>
 
El problema:
 
si hago un insert usando esto:
 
$id_prematrimonio = $_POST["id_prematrimonio"];
$sr_prematrimonio = $_POST["sr_prematrimonio"];
$sra_prematrimonio = $_POST["sra_prematrimonio"];
$parroquia_prematrimonio = $_POST["parroquia_prematrimonio"];
$desde_prematrimonio = $_POST["desde_prematrimonio"];
$hasta_prematrimonio = $_POST["hasta_prematrimonio"];
$sr_guia_prematrimonio = $_POST["sr_guia_prematrimonio"];
$sra_guia_prematrimonio = $_POST["sra_guia_prematrimonio"];
$fecha_emision_prematrimonio = $_POST["fecha_emision_prematrimonio"];
 
me inserta sin problemas, con excepcion de que me obliga a insertar los campo de fechas, desde_prematrimonio y hasta_prematrimonio siendo que esos campos no los pongo como obligatorios.
 
pero si utilizo esto:
 
/*$id_prematrimonio = $_POST["id_prematrimonio"];
	$sr_prematrimonio = "'".strtoupper($_POST["sr_prematrimonio"])."'";
	$sra_prematrimonio = "'".strtoupper($_POST["sra_prematrimonio"])."'";
	$parroquia_prematrimonio = ($_POST["parroquia_prematrimonio"] == null) ? 'null' : "'".$_POST["parroquia_prematrimonio"]."'";
	$desde_prematrimonio = ($_POST["desde_prematrimonio"] == null) ? 'null' : "'".$_POST["desde_prematrimonio"]."'";
	$hasta_prematrimonio = ($_POST["hasta_prematrimonio"] == null) ? 'null' : "'".$_POST["hasta_prematrimonio"]."'";
	$sr_guia_prematrimonio = ($_POST["sr_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sr_guia_prematrimonio"]."'";
	$sra_guia_prematrimonio = ($_POST["sra_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sra_guia_prematrimonio"]."'";
	$fecha_emision_prematrimonio = ($_POST["fecha_emision_prematrimonio"] == null) ? 'null' : "'".$_POST["fecha_emision_prematrimonio"]."'";*/
 
no me inserta nada, reparen que esta comentado incluso, me parece que el campo tipo date de postgres no acepta null como valor o algo asi, estoy usando la libreria EXTJS, ya revise el javascript y esta todo bien, cualquier ayuda seria bienvenida, gracias de antemano... 
   
 



