Estoy usando postgreSQl 8.2 en Win XP este es mi codigo en el que hago el insert
El error que me arroja el postgres es traduciendolo: que no puedo dejar los FK vacios, que se esperaba un valor entero y ocurre en esta linea
Código PHP:
$sql_cer="INSERT INTO ficha_catalogacion
VALUES ('$maxi_fcat', '$vid','$img2', '$img3','$cod_fix','','','','','','$data_usu[codigo_usuario]', '$registro', '$regnacional', '$fechacatalogacion','$vitrina','$nivel')";
esta es la estructura de mi tabla Ficha_Catalogacion
Código:
Este es mi codigo con el que hago el insertcod_catalogacion (PK) - integer cod_video (FK) - integer cod_imagen2 (FK) - integer cod_imagen3 (FK) - integer cod_ceramio (FK) - integer cod_botanico (FK) - integer cod_adobe (FK) - integer cod_entierro (FK) - integer cod_estructura (FK) - integer cod_oseo (FK) - integer cod_usuario (FK) - integer registro regnacional fecha vitrina nivel
Código PHP:
include ("Seguridad.php");
include ("Conexion.php");
$registro=$_POST["regcat_ceramio"];
//Selecciona Codigo Ficha Campo Oseo
$cod_fix=$_SESSION['codigo_ceramio'];
//Selecciona Archivos
$res2=pg_exec("select max(codigo_imagen2) from imagen2");
$row2=pg_fetch_array($res2);
$img2=$row2[0];
$res3=pg_exec("select max(codigo_imagen3) from imagen3");
$row3=pg_fetch_array($res3);
$img3=$row3[0];
//selecicona Archivo
$res=pg_exec("select max(codigo_video) from video");
$row=pg_fetch_array($res);
$vid=$row[0];
//Ficha Registro Oseo MaxCodigo
$query_fcat=pg_exec("SELECT Max(codigo_catalogacion) AS fcat FROM ficha_catalogacion") or die ("Error SQL Max Ficha Catalogacion Oseo");
$data_fcat=pg_fetch_array($query_fcat);
$max_fcat=$data_fcat[fcat];
$maxi_fcat=$max_fcat+1;
//Selecciona Usuario
$user_name=$_SESSION['register_username'];
echo $user_name;
$sql_usu="Select codigo_usuario From usuario Where nombre_usuario='$user_name'";
$query_usu=pg_exec($DB,$sql_usu) or die ("Error SQL Usuario");
$data_usu=pg_fetch_array($query_usu);
//Inserta fila Ficha Registro Oseo
$sql_cer="INSERT INTO ficha_catalogacion
VALUES ('$maxi_fcat', '$vid','$img2', '$img3','$cod_fix','','','','','','$data_usu[codigo_usuario]', '$registro', '$regnacional', '$fechacatalogacion','$vitrina','$nivel')";
$row_cer = pg_exec($DB,$sql_cer) or die ("Error SQL Insert Ficha Registro Ceramio");
$_SESSION['regcat_ceramio']=$registro;
//captura fecha y hora
setlocale(LC_TIME,"es_ES");
$fecha=date("Y-m-d");
$hora=date("H:i",time()-3600);
//Bitacora MaxCodigo
$query_bit=pg_exec("SELECT Max(codigo_detaoperacion) AS bit FROM detalle_operacion") or die ("Error SQL Bitacora");
$data_bit=pg_fetch_array($query_bit);
$max_bit=$data_bit[bit];
$maxi_bit=$max_bit+1;
//REGISTRA INSERT EN BITACORA
$sql_det="INSERT INTO detalle_operacion
VALUES ('$maxi_bit','$data_usu[codigo_usuario]','3','$hora','$fecha','$registro')";
$query_det=pg_exec($DB,$sql_det)or die ("Error SQL Insert Detalle Operacion");
include("close_conexion.php");
include("InfoFR_Ceramio.php");