Foros del Web » Programando para Internet » PHP »

Problemas con insert php + postgres

Estas en el tema de Problemas con insert php + postgres en el foro de PHP en Foros del Web. Hola me dedico a uds con la posibilidad de ke me ayuden a encontrar el posible error en este script de insert este es mi ...
  #1 (permalink)  
Antiguo 18/11/2007, 17:38
Avatar de spike01  
Fecha de Ingreso: octubre-2007
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Problemas con insert php + postgres

Hola me dedico a uds con la posibilidad de ke me ayuden a encontrar el posible error en este script de insert este es mi codigo:

<?php
$insertSQL = "INSERT INTO doctores(docNo_d, ape1_d, ape2_d, nom_d, rprof_d, dir_d, tel_d, mov_d, email_d, consultorio_d, id_esp_mg) ";
$insertSQL .= "VALUES ( '" .$docNo_d. "', '" .$ape1_d. "', '" .$ape2_d. "', '".$nom_d. "', '" .$rprof_d. "', '" .$dir_d. "', '" .$tel_d. "', '" .$mov_d. "', '" .$email_d. "', '" .$consultorio_d. "', '" .$id_esp_mg. "' )";

$Result1 = pg_exec($HC,$insertSQL) or die(pg_result_error());
echo "<script language=javascript>alert('Datos insertados con Exito!!');</script>";
?>

y esta mi bd en postgres:


CREATE TABLE doctores
(
foto bytea,
"docNo_d" bigint NOT NULL DEFAULT nextval('"doctores_docNo_d_seq"'::regclass),
ape1_d character varying,
ape2_d character varying,
nom_d character varying,
rprof_d character varying,
dir_d character varying,
tel_d bigserial NOT NULL,
mov_d bigserial NOT NULL,
email_d character varying,
consultorio_d numeric,
id_esp_mg serial NOT NULL,
CONSTRAINT doctores_pkey PRIMARY KEY ("docNo_d"),
CONSTRAINT doctores_id_esp_mg_fkey FOREIGN KEY (id_esp_mg)
REFERENCES especialidad_mg (id_esp_mg) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITHOUT OIDS;
ALTER TABLE doctores OWNER TO postgres;


este es el error ke me sale:

Warning: pg_exec(): Query failed: ERROR: column "docno_d" of relation "doctores" does not exist at character 22 in c:\appserv\www\hc\html\doctor1.php on line 23

le estare agradecido por cualkier posible solucion; estare pendiente a sus comentarios.

Gracias de antemano
  #2 (permalink)  
Antiguo 18/11/2007, 17:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Re: Problemas con insert php + postgres

En la base de datos tienes un campo llamado "docNo_d" (con comillas), mientras que en la sentencia SQLpara insertar te estás refiriendo a ese campo como docNo_d (sin comillas).
__________________
El conocimiento es libre: Movimiento por la Devolución
  #3 (permalink)  
Antiguo 18/11/2007, 18:58
Avatar de spike01  
Fecha de Ingreso: octubre-2007
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Problemas con insert php + postgres

ya elimine los campos de la tabla y los volvi a llenar y aun asi el campo docNo_d sale entre comillas en la bd, no se porke o a ke se debe ??

ke puedo hacer ahi??
  #4 (permalink)  
Antiguo 18/11/2007, 21:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Re: Problemas con insert php + postgres

¿La tabla la volviste a crear con la sentencia CREATE TABLE que pusiste en el post?, porque en esa sentencia el nombre del campo lo tienes con comillas.
__________________
El conocimiento es libre: Movimiento por la Devolución
  #5 (permalink)  
Antiguo 21/11/2007, 14:05
Avatar de spike01  
Fecha de Ingreso: octubre-2007
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Problemas con insert php + postgres

hola nuevamente,

mira borre la tabla y la volvi a crear y perfecto ya no me salen las comillas, ahora me sale este error


Warning: pg_exec(): Query failed: ERROR: invalid input syntax for integer: "" in c:\appserv\www\hc\html\doctor1.php on line 23

el script:

<?php
if ($opcion =="Enviar")
{
$insertSQL = "INSERT INTO doctor(docno_d, ape1_d, ape2_d, nom_d, rprof_d, dir_d, tel_d, mov_d, email_d, consultorio_d, id_esp_mg) ";
$insertSQL .= "VALUES ( '" .$docNo_d. "', '" .$ape1_d. "' , '" .$ape2_d. "' , '" .$nom_d. "', '" .$rprof_d. "', '" .$dir_d. "', '" .$tel_d. "', '" .$mov_d. "', '" .$email_d. "', '" .$consultorio_d. "', '" .$id_esp_mg. "' ) ";

$Result1 = pg_exec($HC,$insertSQL) or die(pg_result_error());
$_SESSION['cedula']= $docNo_d;
echo "<script language=javascript>alert('Datos insertados con Exito!!');</script>";
?>
<SCRIPT LANGUAGE="javascript">location.href = "guardar_med.php";</SCRIPT>
<?php
}
?>

asi kedo la tabla:

CREATE TABLE doctor
(
docno_d bigserial NOT NULL,
ape1_d character varying,
ape2_d character varying,
nom_d character varying,
rprof_d bigserial NOT NULL,
dir_d character varying,
tel_d bigserial NOT NULL,
mov_d bigserial NOT NULL,
email_d character varying,
consultorio_d bigint,
foto bytea,
id_esp_mg serial NOT NULL,
CONSTRAINT doctor_pkey PRIMARY KEY (docno_d),
CONSTRAINT doctor_id_esp_mg_fkey FOREIGN KEY (id_esp_mg)
REFERENCES especialidad_mg (id_esp_mg) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITHOUT OIDS;
ALTER TABLE doctor OWNER TO postgres;

le agradesco nuevamente su colaboracion
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 19:09.