Foros del Web » Programando para Internet » PHP »

Problema al conectar de php a postgres

Estas en el tema de Problema al conectar de php a postgres en el foro de PHP en Foros del Web. tengo un problema al conectarme a postgres desde php estoy usando el appserv y ahi ya todo viene configurado para mysql;pero para postgres debo configurarlo? ...
  #1 (permalink)  
Antiguo 11/10/2007, 07:27
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Problema al conectar de php a postgres

tengo un problema al conectarme a postgres desde php
estoy usando el appserv y ahi ya todo viene configurado para mysql;pero para postgres debo configurarlo?
este es el fragmento de mi php.ini en donde se configura postgres; a mi parecer esta todo correcto ,pero al que re conectarme usando :
pg_connect("host=localhost port=5432 user=usuariopostgres password=passwordpostgres dbname=mibasededatos");

me sale error; porque a que se debe?
este es el fragmento de php.ini:
Código:
[PostgresSQL]
; Allow or prevent persistent links.
pgsql.allow_persistent = On

; Detect broken persistent links always with pg_pconnect().
; Auto reset feature requires a little overheads.
pgsql.auto_reset_persistent = Off

; Maximum number of persistent links.  -1 means no limit.
pgsql.max_persistent = -1

; Maximum number of links (persistent+non persistent).  -1 means no limit.
pgsql.max_links = -1

; Ignore PostgreSQL backends Notice message or not.
; Notice message logging require a little overheads.
pgsql.ignore_notice = 0

; Log PostgreSQL backends Noitce message or not.
; Unless pgsql.ignore_notice=0, module cannot log notice message.
pgsql.log_notice = 0
ah por cierto uso winxp, la version del appserv es la 2.5.9 y la de postgresql es el 8.1
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #2 (permalink)  
Antiguo 11/10/2007, 08:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema al conectar de php a postgres

Que error es el que te marca?

Saludos.
  #3 (permalink)  
Antiguo 11/10/2007, 18:11
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Re: Problema al conectar de php a postgres

bueno ya solucione el problema de la conexion
habia que cargar el modulo php_psql.dll
ahora lo que no puedo es insertar los datos , uso la funcion pg_execute,pero no ingresa los datos a la base de datos
y para comprobar uso la funcion pg_connection_status($miconexion) y me devuelve un PGSQL_CONNECTION_BAD.
quisiera saber que es lo que estoy haciendo mal
cuando trato de insertar los datos pongo:
$consulta=" insert into tema values('".$id."','".$titulo."','".$resumen."','".$ duracion."','".$costo."','".$disertantes."');";

$res=pg_query($consulta);
if(!$res)
echo "fallo el insertar";
}

y me sale el mensj que fallo,alguien puede ayudarme
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #4 (permalink)  
Antiguo 11/10/2007, 20:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema al conectar de php a postgres

Si te dice que PGSQL_CONNECTION_BAD es que no se pudo conectar a la base de datos.

Te sugiero que cheques los parametros de conexion.

Saludos.
  #5 (permalink)  
Antiguo 12/10/2007, 06:46
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Re: Problema al conectar de php a postgres

mmm,bueno me conecto asi desde la consola de postgres
>psql -h localhost -d colegio -u
username: postgres
password:postgresql

y esta es mi cadena de conexion:
$conexion= pg_connect("host=localhost port=5432 user=postgres password=postgresql dbname=colegio");

no le veo nada malo ;pero entonces porque no conecta?


ya abilite el modulo extension=php_pgsql.dll del php.ini

Pd: ya les dije ,estoy usando winXP
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #6 (permalink)  
Antiguo 12/10/2007, 09:08
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Re: Problema al conectar de php a postgres

ya solucione el problema de la conexion
ahora como hago para insertar un registro?
no encuentro un tutorial q hable o de un ejemplo sobre eso,solo muestran sacar una consulta select
mi codigo es:

$varia=pg_prepare($conexion,"myconsulta", " insert into tema values('$1','$2','$3','$4','$5','$6');");
$result=pg_execute($conexion,"myconsulta",$arreglo );

la variable $arreglo ,ya la revise contiene los 6 campos que se necesita,pero no inserta el registro me sale un mensaje :

Warning: pg_execute() [function.pg-execute]: Query failed: ERROR: bind message supplies 6 parameters, but prepared statement "myconsulta" requires 0 in C:\AppServ\www\tis\ingresardatos.php on line 29

y no ingresa el registro
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #7 (permalink)  
Antiguo 12/10/2007, 10:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema al conectar de php a postgres

Tu problema es que estas pasando la consulta con comillas dobles, lo que hace que en el runtime PHP vea $1 y reemplaze el valor por una variable llamada $1, al no encontrarla tu cadena de consulta queda asi:
Código:
insert into tema values('','','','','','');
Para que el parser te respete tus $1, necesitas hacer dos cosas, o escaparlas haciendo esto: \$1 o pasando la variable en comillas simples: '.

Saludos.
  #8 (permalink)  
Antiguo 13/10/2007, 14:47
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Re: Problema al conectar de php a postgres

al insertar desde el prompt de postgres o desde el intreprete de sql que viene en el pgAdmin ,los atributos que son varchar(caracteres) se ponen entre comillas simple;
osea al insertar un registro desde la consola o desde el interprete de sql del pgAdmin pongo asi;
insert into tema values( 'llave1','atributo1','atributo2',....etc);
porque todos mis atributos son caracteres
entonces ese no seria el problema
utilice la funcion
pg_exec
que no esta en la documentacion del manual de php ,el que esta escrito por Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Philip Olson
Georg Richter
Damien Seguy
Jakub Vrana
Edited by
Philip Olson

y no encontre ahi
bueno lo encontre en otro manual y me funciono
ahora mi duda es?
cual es la forma correcta para ingresar un registro a la base de datos? utilizando que funciones?
porfavor ayudenme ,soy nuevo en esto de php
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #9 (permalink)  
Antiguo 03/10/2015, 11:33
 
Fecha de Ingreso: mayo-2014
Mensajes: 4
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema al conectar de php a postgres

Como cargastes el modulo?, tengo el mismo problema
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 16:19.