Foros del Web » Programando para Internet » PHP »

Warning: mysql_query() expects parameter 2 to be resource

Estas en el tema de Warning: mysql_query() expects parameter 2 to be resource en el foro de PHP en Foros del Web. Hola a todos!!! Tengo un problema al hacer una consulta a la BD, el problema es el siguiente: Código: Warning: mysql_query() expects parameter 2 to ...
  #1 (permalink)  
Antiguo 12/02/2013, 13:50
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 12 años, 6 meses
Puntos: 1
Exclamación Warning: mysql_query() expects parameter 2 to be resource

Hola a todos!!!
Tengo un problema al hacer una consulta a la BD, el problema es el siguiente:


Código:
Warning: mysql_query() expects parameter 2 to be resource, string given in C:\wamp\www\index.php\ on line 42
en la linea 42 tengo : $res = mysql_query($sql, $db) or die(mysql_error());

mi archivo index.php es el siguiente:


Código PHP:
<?php
include("../../db.php");
?>

<?php
                $id 
$_GET['recordID'];
                
$marca $_GET['brandID'];
                
$shoe $_GET['shopID'];
                
                
$sql "SELECT * FROM esall WHERE";
                
$res mysql_query($sql$db) or die(mysql_error()); 
                        if(
$id){
                            
$sql .= "N3z = '$id'";
                            if(
$marca$sql .= " AND Marca= '$marca'";
                            if(
$shoe$sql .= " AND Empresa= '$shoe'";
                             };
                
?>
                <?php while($rowmysql_fetch_assoc($res)){  
                
?>
                <a href=""><?php echo utf8_encode($row ['Name']). '<br>';?></a>
                <?php  }
                
?>
He probado de varias maneras pero no doy con la solución, gracias de antemano y un saludo.
  #2 (permalink)  
Antiguo 12/02/2013, 13:55
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Warning: mysql_query() expects parameter 2 to be resource

hola

mmmm veo que tu consulta esta mal, te falta las condiciones duespues del WHERE, verifica eso, y el parametro conexion ($db) como lo tienes?
  #3 (permalink)  
Antiguo 12/02/2013, 13:58
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Warning: mysql_query() expects parameter 2 to be resource

Que es lo que quieres hacer?
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #4 (permalink)  
Antiguo 12/02/2013, 14:04
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 12 años, 6 meses
Puntos: 1
Exclamación Respuesta: Warning: mysql_query() expects parameter 2 to be resource

Hola informacionsys y gldelossantos
la variable $db es correcta cuando hago una consulta "simple" no me dá error alguno, lo que quiero hacer es algo similar a lo hablado en esta parte del foro:

[URL="http://www.forosdelweb.com/f18/filtrado-acumulativo-resultados-sql-777469/[/URL]

donde xcoltx explica como hace un filtrado acumulativo, (esta casi al final)

Los tres GET vienen de tres archivos distintos.


gracias a los dos, saludos
  #5 (permalink)  
Antiguo 12/02/2013, 14:07
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Warning: mysql_query() expects parameter 2 to be resource

quieres armar la consulta dinamicamente dependiendo de que filtros lleguen por get?
  #6 (permalink)  
Antiguo 12/02/2013, 14:14
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 12 años, 6 meses
Puntos: 1
Exclamación Respuesta: Warning: mysql_query() expects parameter 2 to be resource

si, es posible?
__________________
pips
  #7 (permalink)  
Antiguo 12/02/2013, 14:21
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Warning: mysql_query() expects parameter 2 to be resource

si claro, es posible, te explico ,

por ejemplo si quisiera obtener todos los registros de una tabla usuarios, haria algo asi:

Código PHP:
Ver original
  1. $query = sprintf("SELECT * FROM usuarios");

pero que pasa si deseo obtener solo los datos de determinado usuario tendria que ya pasar una condicion al query, entonces haria algo asi:
Código PHP:
Ver original
  1. extract($_REQUEST);//extraigo todas las variables enviadas por get o post
  2.  
  3. $queryFin = (!empty($usuario)) ? "WHERE usuario = '$usuario'" : "";// valido que si la variable usuario tiene algo quiere decir que necesita consultar la info nada mas de ese usuario , entonces concateno esa condicion al query
  4.  
  5. $query = sprintf("SELECT * FROM usuarios %s",$queryFin);
  6.  
  7. // de esta manera el query quedaria  SELECT * FROM usuarios WHERE usuario = '$usuario'

Espero te sirva de guia
  #8 (permalink)  
Antiguo 12/02/2013, 15:00
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 12 años, 6 meses
Puntos: 1
Exclamación Respuesta: Warning: mysql_query() expects parameter 2 to be resource

Hola muchas por tu respuesta,
Tengo una duda, bien entonces como paso las variable? mis archivos que están vía includes son : modulo1.php por ejemplo:

Código PHP:
<?php

include("../../conexion.php");

$con mysql_connect($host,$user,$pw)
    or die(
"problemas al conectar al server");


mysql_select_db($db,$con)
or die(
"problemas al conectar a la BD");
$id $_GET['recordID'];


?>

<?php
$resultado2 
mysql_query("SELECT Marca FROM esall WHERE esall.N3z ='$id' GROUP BY Marca LIMIT 10");   

while(
$rowmysql_fetch_array($resultado2)){ 
                
?>
                <a href="index.php?shoeID=<?php echo $row['Marca']; ?>"><?php echo $row ['Marca']. '<br>';?></a>
                <?php  }
                
?>
Tengo que modificar algo aquí?
El problema que tengo es que serán entre 8 y 12 modulos distintos, nosé si con lo que me has expuesto se puede hacer, tendré que estudiar un poco más.

Gracias, saludos
__________________
pips
  #9 (permalink)  
Antiguo 12/02/2013, 15:15
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Warning: mysql_query() expects parameter 2 to be resource

bueno no se si es asi como lo estas manejando

en el index cargas todos los modulos cierto, que son href que redireccionan al mismo index pero ya pasandole un id_modulo por ejemplo si o no ?


entonces deseas cargar simplemente la informacion de ese id_modulo ?? o exactamente que deseas hacer?
  #10 (permalink)  
Antiguo 13/02/2013, 03:21
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 12 años, 6 meses
Puntos: 1
Exclamación Respuesta: Warning: mysql_query() expects parameter 2 to be resource

Hola, en primer lugar gracias por tu tiempo y por tu paciencia.
Si cada modulo pasa al index con un href y una variable via GET o POST. y si deseo cargar la información de ese modulo más la que ya tiene el propio index, es decir acumular filtros
te explico lo que quiero hacer... en el index habrá 8 includes (aprox) que serán modulos que arrojarán diferentes opciones a seleccionar(Marca, Talla, Material, etc...) cada una dependiente de la otra, es decir si se pulsa en una de las 8, las otras siete se modificarán y por lo tanto el index irá filtrando hasta llegar a un producto en concreto, te paso un ejemplo de una web por si le quieres echar un ojo (a efectos de estructurar las consultas a base de datos, no de Ajax, Jquery etc...):
[URL="http://hornos.twenga.es/microondas.html"]http://hornos.twenga.es/microondas.html[/URL]
que por lo que veo en este post del este foro puede hacerse así: [URL="http://www.forosdelweb.com/f18/filtrado-acumulativo-resultados-sql-777469/"]http://www.forosdelweb.com/f18/filtrado-acumulativo-resultados-sql-777469/[/URL]

y esto es lo que estoy intentando, si también de tu ayuda, sabes de otro post que hablen de este tema o de algún script similar.....

gracias de nuevo y saludos
__________________
pips

Etiquetas: database, mysql
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 17:18.