Foros del Web » Programando para Internet » PHP »

¿ problema parentesis en consultas parametrizadas ?

Estas en el tema de ¿ problema parentesis en consultas parametrizadas ? en el foro de PHP en Foros del Web. Buenas tardes compañeros, recurro al foro porque llevo un buen rato liado con este asunto. Mi problema creo que reside aqui Código PHP: $ids  =  ...
  #1 (permalink)  
Antiguo 24/11/2012, 09:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación ¿ problema parentesis en consultas parametrizadas ?

Buenas tardes compañeros, recurro al foro porque llevo un buen rato liado con este asunto.

Mi problema creo que reside aqui

Código PHP:
$ids trim($GLOBALS['id_devueltos'], ',');
        
        
$CON_EXTRAS "SELECT c.ID,e.NOMBRE,e.ID,e.TIPO FROM comidas c INNER JOIN extra e ON e.ID_COMIDA = c.ID WHERE c.ID IN (?)";
        
$CONSULTA_EXTRAS mysqli_stmt_init($conexion);
        
$ids_extras "";
        
$contador 0;
        if(
$stmt mysqli_stmt_prepare($CONSULTA_EXTRAS,$CON_EXTRAS)){
            
mysqli_stmt_bind_param($CONSULTA_EXTRAS,'s',$ids);
            
mysqli_stmt_execute($CONSULTA_EXTRAS);
            
$RES_ID_COM "";
            
$REST_NOM_EXT "";
            
$RES_ID_EXT "";
            
$RES_TIPO_EXT "";
            
mysqli_stmt_bind_result($CONSULTA_EXTRAS,$RES_ID_COM,$REST_NOM_EXT,$RES_ID_EXT,$RES_TIPO_EXT);
            while(
mysqli_stmt_fetch($CONSULTA_EXTRAS)){
                
$GLOBALS['id_extras'] .= $RES_ID_EXT ',';
                ++
$contador;
                echo(
"EXTRAS.insert({id_comida:'$RES_ID_COM',nombre:'$REST_NOM_EXT',id_subextra:'$RES_ID_EXT',tipo:'$RES_TIPO_EXT'});");
            };
            
mysqli_stmt_close($CONSULTA_EXTRAS);
        }; 
La variable IDs devueltos contiene un string de este estilo "2,3,7,12,20".

Básicamente lo que estoy es reescribiendo un proyecto para utilizar mysqli y consultas parametrizadas, ya que lo tenia en mysql puro y duro y funcionaba sin problemas pero ahora con las consultas parametrizadas, todo se me esta volviendo mas grande y un poco mas confuso, aparte eso de crear 1 variable por valor devuelto pues no acabo de verlo lo mas optimo, pero en fin...

Mi problema es que esa consulta ( la he probado por separado ), que debe devolver resultados, no me devuelve nada y no entiendo porque, no es la unica consulta que tengo en esa pagina y la única diferencia que encuentro a esta consulta con respecto a las otras es el uso de los paréntesis.

¿ Hay que escapar esos parentesis de alguna manera ? ¿ sera otro el fallo ?

He probado a poner la consulta de esta forma

$CON_EXTRAS = "SELECT c.ID,e.NOMBRE,e.ID,e.TIPO FROM comidas c INNER JOIN extra e ON e.ID_COMIDA = c.ID WHERE c.ID IN ('?')";

Es decir poniendo comillas simples para hacer ver a la base de datos que es un string como seguramente hubiese hecho en el pasado, pero lo único que consigo de este modo es un error.

¿ Alguien puede iluminarme ?

Muchas gracias.

Etiquetas: mysql, parentesis, sql, 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 22:46.