Foros del Web » Programando para Internet » PHP »

Alerta de pg_query Warning: pg_exec(): 3 is not a valid PostgreSQL link resource in C

Estas en el tema de Alerta de pg_query Warning: pg_exec(): 3 is not a valid PostgreSQL link resource in C en el foro de PHP en Foros del Web. Buen día! Soy nueva en el foro y tambien me estoy iniciando en la programación de postgre con PHP. estoy usando postgreSQL 8.1 y PHP ...
  #1 (permalink)  
Antiguo 30/01/2009, 08:02
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 2 meses
Puntos: 2
Alerta de pg_query Warning: pg_exec(): 3 is not a valid PostgreSQL link resource in C

Buen día!

Soy nueva en el foro y tambien me estoy iniciando en la programación de postgre con PHP. estoy usando postgreSQL 8.1 y PHP 5.2.1

Estoy haciendo una pequeña prueba con una sola tabla e intento insertar datos desde un formulario, esta es mi tabla creada en pgadmin III

CREATE TABLE prueba
(
id varchar NOT NULL,
nombre text,
cedula int8,
fecha_nac date,
CONSTRAINT id PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE prueba OWNER TO postgres;

mi código de conexión es el siguiente, el cual es un archivo aparte llamado bdconn.php:

Código PHP:
<? 
#Prueba de conexión con base de datos PostgreSQL
$bdconn pg_pconnect("host = localhost port = 5432 dbname = postgres user = postgres password = 123456") or die ("No se conectó con la base de datos");
pg_close($bdconn);
?>
y mi código para insertar datos es el siguiente:

Código PHP:
<? 
include('Conex/bdconn.php');
$id 3

$sql "INSERT INTO prueba (id, nombre, cedula, fecha_nac) values (" .$id", '" .$_POST['txtnombre']. "', '" .$_POST['txtcedula']. "', '" .$_POST['txtfecha_nac']. "')";
echo 
$sql;
pg_query($bdconn$sql) or die ('No agregó');
pg_close($bdconn);
?>
el error que me arroja es Warning: pg_exec(): 3 is not a valid PostgreSQL link resource in C:\xampp\htdocs\prueba\regusu.php on line 8. La linea 8 es precisamente donde estoy llamando el pg_query.

Agradezco mucho cualquier ayuda que me puedan brindar, espero haber sido especifica y concreta jejeje, de antemano muchas gracias.
  #2 (permalink)  
Antiguo 30/01/2009, 08:04
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Alerta de pg_query Warning: pg_exec(): 3 is not a valid PostgreSQL link re

disculpen, la alerta es esta Warning: pg_query(): 3 is not a valid PostgreSQL link resource in C:\xampp\htdocs\prueba\regusu.php on line 8

Gracias!
  #3 (permalink)  
Antiguo 05/02/2009, 06:52
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Alerta de pg_query Warning: pg_exec(): 3 is not a valid PostgreSQL link re

Hola!!!

queria comentarles que resolvi el problema, para las personas que tengan este error quisiera dejarles aqui cuales fueron los cambios que hice en mi código para resolverlo.

En primer lugar, como yo uso un archivo aparte donde tengo mi conexión a la base de datos, la forma como me funcionó fue colocando la conexión a la base de datos permanente, usando el pg_pconnect();. En el código de la conexión que habia posteado yo cerraba la conexión con pg_close(); eso lo eliminé y mi código quedó así:

Código PHP:
<? 

$bdconn 
pg_pconnect("host=localhost port=5432 password=123456 user=postgres dbname=postgres");

if (
pg_ErrorMessage($bdconn)) { echo "<p><b>Error conectando a la base de datos: .</b></p>"; exit; }

?>
El código para insertar me quedó de esta forma:

Código PHP:
<? 
include('Conex/bdconn.php');

$id 4;
$nombre $_POST['txtnombre'];
$cedula $_POST['txtcedula'];
$fecha $_POST['txtfecha_nac'];

$query "INSERT INTO prueba (id, nombre, cedula, fecha_nac) VALUES ('$id','$nombre',$cedula,'$fecha');";

pg_query($bdconn,$query);
pg_close($bdconn);
?>
El error que me daba era : Warning:pg_query():3 is not valid PostgreSQL link resource in (dirección de mi archivo php), esto se daba a que la conexión se estaba cerrando en el archivo bdconn.php y no pasaba los datos a la pagina donde estaba insertando los datos.

Es una cosa sencilla pero para personas como yo que estamos recien metiendonos en este mundo es muy posible que pueda suceder, vaya que he buscado en mil foros y en mil paginas una respuesta a esto y no la habia conseguido.

Saludos!!
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 11:07.