PHP - query en postgreSQL no funciona igual que en MySQL

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

query en postgreSQL no funciona igual que en MySQL

Publicado por Diego (6 intervenciones) el 22/01/2018 11:49:29
Buenos días,

hasta ahora había trabajado con mysql y no había tenido problemas al realizar consultas a partir de un formulario del tipo:

1
2
$query = "SELECT * FROM table_name WHERE (".empty($variable)." OR column_name = ".$variable.")";
$mysql_query($query);

el problema me surge al empezar a trabajar con postgresql y querer realizar consultas del mismo tipo:

1
2
$query = "SELECT * FROM table_name WHERE (".empty($variable)." OR column_name = ".$variable.")";
$pg_query($query);

me devuelve syntax error por los parentesis y si $variable esta vacia el OR no trabaja correctamente.

alguien sabe el porqué ocurre esto?

gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

query en postgreSQL no funciona igual que en MySQL

Publicado por Alejandro (839 intervenciones) el 25/01/2018 00:37:52
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿En serio eso te funciona?

suponiendo que $variable fuera empty traducio seria
1
SELECT * FROM table_name WHERE ( true OR column_name = "")

si $variable fuera "Hola Mundo!"
1
SELECT * FROM table_name WHERE ( false OR column_name = "Hola Mundo!")

no hay nada contra que comparar true o false
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

query en postgreSQL no funciona igual que en MySQL

Publicado por Diego (6 intervenciones) el 25/01/2018 10:20:20
en mysql funciona sin problema, ya que la variable por ejemplo podria filtrar por numero de telefono si el campo rellenable del que ser recoge $variable estuviera relleno seria:

SELECT * FROM table_nam WHERE ( false OR column_name = 698745123); en tal caso encontraria el registro filtrado por ese telefono.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

query en postgreSQL no funciona igual que en MySQL

Publicado por Alejandro (839 intervenciones) el 25/01/2018 15:46:02
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Sigo sin creer que eso funcione y no tengo mysql para hacer pruebas.

Tratando de entenderte lo que intentas hacer, seria asi

1
$query = "SELECT * FROM table_name WHERE ('".$variable."'!='' AND column_name = ".$variable.")";

1
SELECT * FROM table_nam WHERE (  '698745123'!='' AND column_name = 698745123);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar