Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Error en query utilizando postgres

Estas en el tema de Error en query utilizando postgres en el foro de PostgreSQL en Foros del Web. Buenas Tardes: Soy Nueva en postgres y me sale este error Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "" el codigo ...
  #1 (permalink)  
Antiguo 23/03/2008, 12:46
Avatar de lapooh  
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Error en query utilizando postgres

Buenas Tardes:

Soy Nueva en postgres y me sale este error

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: ""

el codigo que hace surgir este error es el siguiente :

Código PHP:
$query "SELECT * FROM public.banco where banco.id='".$_REQUEST['banco']."'";
$result pg_query($query); 
Aun no encuentro el error no se si me pueden ayudar estaria muy agradecida
  #2 (permalink)  
Antiguo 24/03/2008, 06:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Error en query utilizando postgres

Cita:
Iniciado por lapooh Ver Mensaje
Buenas Tardes:

Soy Nueva en postgres y me sale este error

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: ""

el codigo que hace surgir este error es el siguiente :

Código PHP:
$query "SELECT * FROM public.banco where banco.id='".$_REQUEST['banco']."'";
$result pg_query($query); 
Aun no encuentro el error no se si me pueden ayudar estaria muy agradecida
Si vuelves a leer el error igual te das cuenta que estás pasando un integer vacio.
No programo en PHP pero me da que el valor de .$_REQUEST['banco']. es vacio.
  #3 (permalink)  
Antiguo 24/03/2008, 11:56
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Error en query utilizando postgres

me parece que tu campo id de la tabla banco es de tipo entero y tu en la consulta le estas diciendo que es de tipo cadena
Cita:
banco.id='".$_REQUEST['banco']."'";
banco.id='Cualquier numero'; //Salida
banco.id=Cualquier numero; //Salida correcta sin comillas
En conclusion quitale las comillas simples y pueda quedar asi:
Código PHP:
$query "SELECT * FROM public.banco where banco.id=" $_REQUEST['banco']; 
  #4 (permalink)  
Antiguo 25/03/2008, 12:53
Avatar de lapooh  
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error en query utilizando postgres

Gracias por Responder chicos

Lo qe debi poner es la estructura de la tabla
Código:
CREATE TABLE banco
(
  id serial NOT NULL,
  detalle varchar(100),
  estado varchar(2),
  CONSTRAINT banco_pkey PRIMARY KEY (id)
)
la solucion que encontre y que muchos se al respecto, pero es la me funciono

Código PHP:
$query "SELECT * FROM public.banco where banco.id like '" .$_REQUEST['banco']. "'"
Muchas Gracias y a ver si encuentran otra solucion
  #5 (permalink)  
Antiguo 25/03/2008, 12:55
Avatar de lapooh  
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error en query utilizando postgres

Gracias por Responder chicos

Lo que debi poner es la estructura de la tabla
Código:
CREATE TABLE banco
(
  id serial NOT NULL,
  detalle varchar(100),
  estado varchar(2),
  CONSTRAINT banco_pkey PRIMARY KEY (id)
)
la solucion que encontre y que muchos se al respecto, pero es la me funciono

Código PHP:
$query "SELECT * FROM public.banco where banco.id like '" .$_REQUEST['banco']. "'"
Muchas Gracias y a ver si encuentran otra solucion
  #6 (permalink)  
Antiguo 26/03/2008, 18:04
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Error en query utilizando postgres

Yo nunca usaria el operador like para consultar una llave primaria
  #7 (permalink)  
Antiguo 27/03/2008, 04:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Error en query utilizando postgres

jeje y menos si es numerica
  #8 (permalink)  
Antiguo 27/03/2008, 11:23
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Error en query utilizando postgres

Como empezaste estaba bien (sin comillas simples) y con esa estructura de la tabla que pones es correcta solamente que tu archivo php no esta recibiendo los valores correctamente, siempre es bueno hacer un echo para comprobar tu consulta:
Código PHP:
$query "SELECT * FROM banco where id=".$_REQUEST['banco']; 
echo 
$query//para ver si realmente la consulta se ejecuta como tu deseas
$result pg_query($query); 
  #9 (permalink)  
Antiguo 28/03/2008, 15:13
Avatar de lapooh  
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error en query utilizando postgres

Buenas Tardes :
Si, no me siento conforme con esa sentencia pero Sergestux yo hice la consulta como me aconsejastes pero me sale este error
Cita:
Query failed: ERROR: syntax error at or near "id" LINE 1: SELECT * FROM banco where id=1 ^ in
ayudaaaaa
  #10 (permalink)  
Antiguo 28/03/2008, 15:24
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Error en query utilizando postgres

Como te hemos ido mencionando el problema no es de postgres ni siquiera de php puesto que le esta llegando basura a tus variables (where id=1 ^ in), checa bien donde pasas el valor y verifica que realmente estas pasando el valor correctamente... como pues hazle echos a tus variables:

En la funcion de consulta:
echo "--- $query ---";

Antes de llamar a la funcion en el archivo php:
echo "---- " . $_REQUEST['banco'] . " ---";

Dale ver codigo fuente al php generado por si acaso piensas que no aparecen esos echo
  #11 (permalink)  
Antiguo 29/03/2008, 10:32
Avatar de lapooh  
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error en query utilizando postgres

Tienes razon Sergestux gracias gracias y muchisimas gracias

Hasta la proxima
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 22:35.