Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PostgreSQL (http://www.forosdelweb.com/f99/)
-   -   Error en query utilizando postgres (http://www.forosdelweb.com/f99/error-query-utilizando-postgres-568487/)

lapooh 23/03/2008 12:46

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

seyko 24/03/2008 06:18

Re: Error en query utilizando postgres
 
Cita:

Iniciado por lapooh (Mensaje 2333187)
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.

Sergestux 24/03/2008 11:56

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']; 


lapooh 25/03/2008 12:53

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 :neurotico 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

lapooh 25/03/2008 12:55

Re: Error en query utilizando postgres
 
Gracias por Responder chicos :corazon:

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 :neurotico 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

Sergestux 26/03/2008 18:04

Re: Error en query utilizando postgres
 
Yo nunca usaria el operador like para consultar una llave primaria

seyko 27/03/2008 04:12

Re: Error en query utilizando postgres
 
jeje y menos si es numerica

Sergestux 27/03/2008 11:23

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); 


lapooh 28/03/2008 15:13

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

Sergestux 28/03/2008 15:24

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

lapooh 29/03/2008 10:32

Re: Error en query utilizando postgres
 
Tienes razon Sergestux gracias gracias y muchisimas gracias :aplauso:

Hasta la proxima :adios:


La zona horaria es GMT -6. Ahora son las 19:39.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.