Foros del Web » Programando para Internet » PHP »

no consigo sustituir un valor por una variable en un SELECT

Estas en el tema de no consigo sustituir un valor por una variable en un SELECT en el foro de PHP en Foros del Web. Hola! Tengo una peticion mysql_query que me funciona a la perfeccion con valores fijos, pero al sustitir el valor por la variable que le envia ...
  #1 (permalink)  
Antiguo 07/08/2012, 15:36
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
no consigo sustituir un valor por una variable en un SELECT

Hola!

Tengo una peticion mysql_query que me funciona a la perfeccion con valores fijos, pero al sustitir el valor por la variable que le envia el formulario, me da siempre un error:
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in /Applications/XAMPP/xamppfiles/htdocs/recetas/resultadoBusqueda.php on line 41



Este es el codigo que me funciona perfectamente:

Código PHP:
<?php
$consulta
mysql_query('SELECT *
FROM
    `receta_ingredientes`  RI
    INNER JOIN `recetas` R ON RI.idReceta = R.idReceta
WHERE
    RI.idReceta IN(SELECT idReceta
                          FROM receta_ingredientes
                          WHERE idIngrediente IN (4, 5)
                          GROUP BY idReceta
                          HAVING COUNT(*) = 2)'
);





while (
$fila=mysql_fetch_array($consulta)) 
    {
    echo 
$fila['tituloReceta']."<BR>";
    }


?>
y los valores que quiero cambiar son el 4 y el 5 de WHERE idIngrediente IN (4, 5)por las variable $idIngrediente[0] y por idIngrediente[1]

He probado meter todo el select en una variable concatenado con las variables de formulario pero no me funciona, es mas, ni siquiera me funciona metiendo el mismo select en una variable de esta forma:

Código PHP:
$a="'SELECT *
FROM
    `receta_ingredientes`  RI
    INNER JOIN `recetas` R ON RI.idReceta = R.idReceta
WHERE
    RI.idReceta IN(SELECT idReceta
                          FROM receta_ingredientes
                          WHERE idIngrediente IN (4, 5)
                          GROUP BY idReceta
                          HAVING COUNT(*) = 2)'"
;






$consultamysql_query($a);





while (
$fila=mysql_fetch_array($a)) 
    {
    echo 
$fila['tituloReceta']."<BR>";
    } 
Incluso antes de meter las variables ya me devuelve el error que antes mencionaba.... y sin embargo es el mismo codigo copiado en una variable...

Porque sucede esto?


Gracias!
__________________
Tecnología y tutoriales
  #2 (permalink)  
Antiguo 07/08/2012, 15:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no consigo sustituir un valor por una variable en un SELECT

¿Ya te diste cuenta que en la segunda consulta encierras dentro de comillas sencillas y dobles el sql?

Si necesitas pasar variables sólo deja las comillas dobles.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/08/2012, 15:51
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: no consigo sustituir un valor por una variable en un SELECT

[QUOTE=pateketrueke;4246706]¿Ya te diste cuenta que en la segunda consulta encierras dentro de comillas sencillas y dobles el sql?

Nada, dejando solo las comillas dobles sigue dando el mismo error....

Gracias de todas formas
__________________
Tecnología y tutoriales
  #4 (permalink)  
Antiguo 07/08/2012, 15:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no consigo sustituir un valor por una variable en un SELECT

¡Por el amor de jobs!

Copia y pega aquí el código como lo estás ejecutando actualmente, si copias y pegas la primer consulta (¿esa es la que si funciona verdad?) en la segunda la única diferencia son las comillas extra.

No puedo creer lo que veo, de verdad, tan obvio y no lo ves.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/08/2012, 15:58
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 11 años, 8 meses
Puntos: 60
Respuesta: no consigo sustituir un valor por una variable en un SELECT

En el segundo código, estás llamando a $a y no a $consulta.

$fila=mysql_fetch_array($a)

D:
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #6 (permalink)  
Antiguo 07/08/2012, 16:05
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: no consigo sustituir un valor por una variable en un SELECT

Cita:
Iniciado por Carloosolrac Ver Mensaje
En el segundo código, estás llamando a $a y no a $consulta.

$fila=mysql_fetch_array($a)

D:
CORRECTO!!!!

Con la ayuda de los dos he conseguido el resultado deseado!!!

habia que quitar las comillas, pero ademas me habia equivocado en la llamada a la segunda consulta!

Muchas gracias!
__________________
Tecnología y tutoriales

Etiquetas: formulario, mysql, select, sql, sustituir, variables
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 09:48.