0

Tengo un buscador con un formulario normal y todo, pero en mi bd tengo algunas palabras con ñ y otras sin ñ por si el cliente lo ingresa mal.

El problema es que digamos busco la palabra "estreñimiento" no encuentra nada aun así este la palabra en la base de datos.

Esta es mi consulta:

$sql = "SELECT * 
       FROM productos
       WHERE nombre LIKE '%$buscar%'
         OR descripcion LIKE '%$buscar%'
         OR observaciones LIKE '%$buscar%' 
         OR palabras_clave LIKE '%$buscar%'";
$result = $conn->query($sql);

¿Alguien tendrá alguna solución ?

Marcos
  • 30,626
  • 6
  • 28
  • 63
  • Bienvenido a Stackoverflow Jonatan. Cuando creas la conexión tienes que setear la codificación a `utf-8`, de lo contrario es posible que te cambie las `ñ` por carácteres extraños y no encuentre las coincidencias. Por favor **[lee esta respuesta](https://es.stackoverflow.com/a/59510/29967)**, donde he tratado de abordar el tema en toda su amplitud. También debo decirte que tu consulta es vulnerable a la **Inyección SQL**. Para las consultas donde intervienen variables como `$buscar` es altamente recomendable usar consultas preparadas para evitar la inyección de código malicioso en el sistema. – A. Cedano Jan 09 '18 at 15:44
  • amigo, con eso funciono, te agradezco tanto tu tiempo al leer mi post :) –  Jan 09 '18 at 17:43

0 Answers0