PHP - hacer que el buscador busque con comillas

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido su posición en 126 puestos en PHP (en relación al último mes)
Gráfica de PHP

hacer que el buscador busque con comillas

Publicado por daniel (50 intervenciones) el 08/06/2016 07:14:41
hola a todos los que me lean, tengo el siguiente problema:

tengo un buscador que funciona muy bien, excepto por una cosa, cuando busco con comilla simple, me da error,
que es este:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\pruebas1\buscador\resultado.php on line 129

llevo buscando informacion para solucionarlo desde hace ya 3 dias sin tener exito.

alguien me puede ayudar por favor?

este es parte del codigo:

1
2
3
4
5
6
7
8
9
10
11
$id = $_GET['busqueda'];
$consulta = mysql_query ("SELECT * FROM tbltodaslaspelis WHERE idPelicula AND Nombre LIKE '%" . $id . "%' or Sinopsis LIKE '%" . $id . "%' or Imagen LIKE '%" . $id . "%' or Info LIKE '%" . $id . "%' order by idPelicula desc LIMIT ".(($paginacion->get_page() - 1) * $reg_por_paginas). ',' .$reg_por_paginas,$pelislatinofinal);
if(mysql_num_rows($consulta) > 0) //verifica que exista por lo menos un regisitro
{
while ($fila = mysql_fetch_assoc($consulta)){;?>
<div class="pelicula">
<a href="../ver_todas.php?todas=<?php echo $fila['idPelicula']; ?>"><img src="../exadmin/documentos/peliculas/<?php echo $fila['Imagen']; ?>" width="170" height="240" /></a> <?php echo $fila['Nombre'];?>
 </div>
<?php }}else{
echo '<img src="../imagenes/no hay resultados.JPG" width="170" height="240" />';
}

espero que alguien me pueda ayudar, desde ya gracias y saludos.

PD: he leido acerca de addslashes, pero si es una solucion, nohe podido acomodarla al codigo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

hacer que el buscador busque con comillas

Publicado por Herold (7 intervenciones) el 08/06/2016 11:07:47
¿Con comilla simple significa que a lo mejor lo que buscas tiene un titulo en plan "Michael's Car"?
Si es asi, prueba
1
$id = htmlspecialchars($_GET['busqueda']);

Igual está cogiendo la comilla en el comando del MySQL y lo está interpretando como la apertura de un string.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 126 puestos en PHP (en relación al último mes)
Gráfica de PHP

hacer que el buscador busque con comillas

Publicado por daniel (50 intervenciones) el 08/06/2016 14:36:19
hola Herold, gracias por responder.
lo intente y me sigue dando el mismo error.
esta es la linea del error:
1
if(mysql_num_rows($consulta) > 0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

hacer que el buscador busque con comillas

Publicado por kip (877 intervenciones) el 08/06/2016 22:17:59
Hola, eso pasa porque al permitir las comillas y llamar la variable $id en la query que vas a ejecutar, creas un error ya que no se genera una sentencia valida, tal vez porque las comillas hacen terminar la sentencia en donde no deberia.

Prueba con addslashes a ver si te funciona:
1
$id = addslashes($_GET['busqueda']);

Nos comentas como te fue.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 126 puestos en PHP (en relación al último mes)
Gráfica de PHP

hacer que el buscador busque con comillas

Publicado por daniel (50 intervenciones) el 08/06/2016 23:19:16
hola kip, hice lo que me mencionaste y el problema se solucionó, muchas gracias... y gracias a herold tambien.
no coloco el codigo solucionado porque ya está en tu mensaje, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar