MySQL - Utilizar variables en una consulta

 
Vista:
sin imagen de perfil

Utilizar variables en una consulta

Publicado por Unexes (16 intervenciones) el 02/02/2014 10:53:25
Hola a tod@s otra vez.

Vereis necesito ayuda para algo que nunca he hecho y me gustaria saber como debo hacerlo.

Yo siempre he puesto en las consultas de mysql el nombre de los campos que voy a utilizar y el nombre de la tabla, pero ahora necesitaria utilizar en dichos lugares de la consulta (Variables) por ejemplo cambiar la consulta siguiente:

1
$sql = "SELECT * FROM coches,  fotos_finales WHERE coches.Id = fotos_finales.Id and coches.Activacion = '1' And coches.Disponibilidad = '1' And fotos_finales.FotoPrincipal<>'' ORDER BY coches.Fecha DESC"

Por esta otra, loque necesito saber es como se hace si pretendo algo como esto:

1
$sql = "SELECT * FROM Variable1,  variable2 WHERE Variable1.Id = variable2.Id and Variable1.Activacion = '1' And Variable1.Disponibilidad = '1' And variable2.FotoPrincipal<>'' ORDER BY Variable1.Fecha DESC"

Y como siempre gracias a tod@s por vuestra ayuda.
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 Willian
Val: 2
Ha aumentado su posición en 60 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Utilizar variables en una consulta

Publicado por Willian (52 intervenciones) el 02/02/2014 20:37:57
No soy el mas habil en PHP creo que estas en la seccion incorrecta pero creo que seria de esta forma

1
$sql = "SELECT * FROM $variable_tabla1 as tabla1,  $variable_tabla2 as tabla2 WHERE tabla1.Id = tabla2.Id and tabla1.Activacion = '1' And tabla1.Disponibilidad = '1' And tabla2.FotoPrincipal<>'' ORDER BY tabla1.Fecha DESC"
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

Utilizar variables en una consulta

Publicado por Unexes (16 intervenciones) el 03/02/2014 09:21:46
Gracias Willian por tu pronta respuesta:

En primer lugar pido disculpas si esta nota no esta en el foro correcto pero yo entendi que si se trataba de resolver un problema en una consulta de Mysql (sustituir los nombres de tas tablas por variables) el foro correcto era este. Si no es así por favor que algín moderador o administrador lo mueva la foro correcto.

En segundo lugar en esta sencilla consulta he probado el codigo que me sugeriste:
1
$tablaclientes = mysql_query("SELECT * FROM clientes WHERE  Activacion = '1' ORDER BY NombreComer ASC");
y lo remplace por este otro
1
$tablaclientes = mysql_query("SELECT * FROM $variable_tabla1 as tabla1 WHERE  tabla1.Activacion = '1' ORDER BY tabla1.NombreComer ASC");
este codigo no me funciona, por supuesto la "$variable_tabla1" tiene un valor, el nombre de una determinada tabla.
Lo que no entiendo y te agradeceria me lo esplicaras porque tal como dije en mi primera nota nunca lo he hecho y quiero aprender es porque se tiene que poner en teoria "$variable_tabla1 as tabla1" si en realidad la "variable_tabla1" ya tiene un valor yo creia que deberia ser algo así:
1
$tablaclientes = mysql_query("SELECT * FROM $variable_tabla1 WHERE $variable_tabla1.Activacion = '1' ORDER BY $variable_tabla1.NombreComer ASC");
o así:
1
$tablaclientes = mysql_query("SELECT * FROM $variable_tabla1 WHERE Activacion = '1' ORDER BY NombreComer ASC");
Gracias por tu paciencia, y perdona mi ignorancia, un saludo.
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