Foros del Web » Programando para Internet » PHP »

Concatenación de variable $_POST en consulta SQL

Estas en el tema de Concatenación de variable $_POST en consulta SQL en el foro de PHP en Foros del Web. Buenas tardes, ¿Alguien sabe como podría realizar esta consulta SQL?: SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where ...
  #1 (permalink)  
Antiguo 28/07/2005, 07:23
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 12 años, 6 meses
Puntos: 1
Concatenación de variable $_POST en consulta SQL

Buenas tardes,

¿Alguien sabe como podría realizar esta consulta SQL?:

SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero="documento numero2.txt"

El nombre del fichero lo paso mediante una variable $_POST, pero hoy no es mi día, y no consigo que me funcione el poder poner comillas dobles para el nombre del ficherro.

$informa2 = mysql_query("SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero=".$_POST['fic']."" ,$conexion);

Gracias
  #2 (permalink)  
Antiguo 28/07/2005, 08:05
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 12 años, 8 meses
Puntos: 0
Intenta

$informa2 = mysql_query("SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero= '".$_POST['fic']."' " ,$conexion);

Observa que agregué ' antes de las comillas despues de = y donde está el espacio.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #3 (permalink)  
Antiguo 28/07/2005, 08:42
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 12 años, 6 meses
Puntos: 1
Ya había probado eso pero no me funciona porque tengo que añadir comillas dobles al inicio y al final de la cadena ya que se trata de un string.

Alguna otra idea?
  #4 (permalink)  
Antiguo 28/07/2005, 08:51
 
Fecha de Ingreso: julio-2005
Mensajes: 23
Antigüedad: 12 años, 5 meses
Puntos: 0
si quieres poner comillas dobles tienes que utilizar \" para que lleguen asi a la consulta, creo que quedaria asi:

$informa2 = mysql_query("SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero=\"{$_POST['fic']}\" ",$conexion);

a tu estilo lo podrias poner:

$informa2 = mysql_query("SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero=\"".$_POST['fic']."\"" ,$conexion);

pd: pa k quieres poner las comillas dobles?

edito para completarlo algo mas
  #5 (permalink)  
Antiguo 28/07/2005, 09:02
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 12 años, 6 meses
Puntos: 1
Tampoco funciona..

Quiero realizar la consulta SQL:

SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero="documento numero2.txt"

$_POST['archivo']="documento numero2.txt";

Al realizar la consulta SQL (al ser un string) tengo que encomillarlo.

Un saludo
  #6 (permalink)  
Antiguo 28/07/2005, 10:37
 
Fecha de Ingreso: julio-2005
Mensajes: 23
Antigüedad: 12 años, 5 meses
Puntos: 0
yo a los string siempre les pongo ' en vez de " como tu dices y me va de puta madre.
si no te va con ninguno de los dos que te dije creo que deberias plantearte la mas que posible posibilidad de que el error no este en eso :P
  #7 (permalink)  
Antiguo 29/07/2005, 02:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Un "no me funciona" no dice nada... ¿POR QUÉ??, ¿algún mensaje de error??.

Creo te estás liando. Una cadena en PHP se declara con comillas dobles:
Código PHP:
$cadena="texto cualquiera"
esto no significa que dichas comillas pertenescan a la cadena --tendrías que escaparlas--. En las sentencias SQL una cadena --entre otas cosas-- se define por comillas simples :
Código:
SELECT campos FROM tabla WHERE campo='texto cualquiera'
entonces es perfectamente válido (y es lo correcto) combinar PHP y SQL de esta manera:
Código PHP:
$cadena"texto cualquiera";
$consultamysql_query("SELECT campos FROM tabla WHERE campo='$cadena'");
// con matricez sería
$cadena["buscar"]= "texto cualquiera";
$consultamysql_query("SELECT campos FROM tabla WHERE campo='".$cadena['buscar']."'"); // habrá que concatenar 
lo cuál ya te habían sugerido... pero pués adivinar por qué no te sirve esta complicado...
http://www.forosdelweb.com/f18/como-preguntar-foro-php-cosas-tener-cuenta-295415/

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 29/07/2005, 14:19
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
$informa2 = mysql_query("SELECT nombre, peticion, fecha, plazo, fichero, estado, dxf, dibujar, ofertar, notas, usuario from trabajos where fichero=\" ".$_POST['fic']." \" ",$conexion);
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 13:29.