Foros del Web » Programando para Internet » PHP »

problemas al hacer insert

Estas en el tema de problemas al hacer insert en el foro de PHP en Foros del Web. insert en postgres 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" ...
  #1 (permalink)  
Antiguo 17/03/2010, 09:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 10 años, 3 meses
Puntos: 0
problemas al hacer insert

insert en postgres
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...
  #2 (permalink)  
Antiguo 17/03/2010, 10:03
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Respuesta: problemas al hacer insert

Y si ves que te trae $_POST["desde_prematrimonio"] ???

Tambien seria bueno que utilizaras empty($_POST["desde_prematrimonio"])? en vez de ($_POST["desde_prematrimonio"] == null) o incluso isset($_POST["desde_prematrimonio"])

Suerte,
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 17/03/2010, 13:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: problemas al hacer insert

ya probe usando empty e isset, pero igual no me inserta, es extraño, gracias por responder de cualquier manera...
  #4 (permalink)  
Antiguo 18/03/2010, 09:43
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Respuesta: problemas al hacer insert

Otra cosa... trataste poniendo en la definicion del campo que pueda ser NULL ??

Código:
"desde_prematrimonio" Date NULL,
"hasta_prematrimonio" Date NULL,
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: insert
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 13:55.