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: 21 años, 3 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: 17 años, 2 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: 21 años, 3 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: 17 años, 2 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 03:04.