Foros del Web » Programando para Internet » PHP »

No funciona la consulta

Estas en el tema de No funciona la consulta en el foro de PHP en Foros del Web. Estoy teniendo problemas con esta consulta. Cuando hago unicamente el SELECT funciona, pero cuando le pongo los filtros no devuelve nada, no tira error, simplemente ...
  #1 (permalink)  
Antiguo 08/01/2011, 13:31
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta No funciona la consulta

Estoy teniendo problemas con esta consulta. Cuando hago unicamente el SELECT funciona, pero cuando le pongo los filtros no devuelve nada, no tira error, simplemente viene vacio. Y no entiendo por que. Los campos que filtro existen y la variable contiene valor. Es mas, si quito la variable y escribo el valor por el que quiero filtrar me da el mismo problema.
Código PHP:
$currentPage $_SERVER["PHP_SELF"];

$maxRows_rsPosts 10;
$pageNum_rsPosts 0;
if (isset(
$_GET['pageNum_rsPosts'])) {
  
$pageNum_rsPosts $_GET['pageNum_rsPosts'];
}
$startRow_rsPosts $pageNum_rsPosts $maxRows_rsPosts;
$id_rubro $_GET['idrubro'];
mysql_select_db($database_localhost$localhost);
$query_rsPosts " SELECT * FROM vposts";
$query_rsPosts .= " WHERE rubro1 = " $id_rubro;
$query_rsPosts .= " OR rubro2 = " $id_rubro;
$query_rsPosts .= " OR rubro3 = " $id_rubro;
$query_limit_rsPosts sprintf("%s LIMIT %d, %d"$query_rsPosts$startRow_rsPosts$maxRows_rsPosts);
$rsPosts mysql_query($query_limit_rsPosts$localhost) or die(mysql_error());
$row_rsPosts mysql_fetch_assoc($rsPosts); 
Espero que alguien me pueda dar una mano, soy nuevo en PHP y esto me está frustrando un poco...

Muchas gracias!
__________________
diegoz.com.ar
  #2 (permalink)  
Antiguo 08/01/2011, 15:07
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: No funciona la consulta

Hola,

prueba cambiando esta linea:
Código PHP:
$query_limit_rsPosts sprintf("%s LIMIT %d, %d"$query_rsPosts$startRow_rsPosts$maxRows_rsPosts); 
por esta:
Código PHP:
$query_limit_rsPosts sprintf("'%s LIMIT %d, %d'"$query_rsPosts$startRow_rsPosts$maxRows_rsPosts); 
Si no funciona prueba con esto:
Código PHP:
$query_rsPosts .= sprintf(" WHERE rubro1 = '%s'"get_magic_quotes_gpc() ? $id_rubro addslashes($id_rubro));
$query_rsPosts .= sprintf(" OR rubro2 = '%s'"get_magic_quotes_gpc() ? $id_rubro addslashes($id_rubro));
$query_rsPosts .= sprintf(" OR rubro3 = '%s'"get_magic_quotes_gpc() ? $id_rubro addslashes($id_rubro)); 
saludos
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 08/01/2011, 15:35
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: No funciona la consulta

Muchas gracias! Te hago una pregunta:

get_magic_quotes_gpc() y addslashes() se utilizan para impedir sql injection verdad?
__________________
diegoz.com.ar
  #4 (permalink)  
Antiguo 08/01/2011, 15:53
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: No funciona la consulta

Cita:
Iniciado por Frehley Ver Mensaje
Muchas gracias! Te hago una pregunta:

get_magic_quotes_gpc() y addslashes() se utilizan para impedir sql injection verdad?
si, ademas mysql suele ser exigente con esto. Tambien te aconsejo recibir siempre los datos con mysql_real_escape_string.

Saludos,
__________________
Tu álbum de cromos online!!

Etiquetas: Ninguno
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:12.