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...