PHP - problema logico ayuda

 
Vista:

problema logico ayuda

Publicado por jose (1 intervención) el 10/09/2018 05:37:27
intento hacer una busqueda en una tabla de phpmyadmin, pero cuando voy al index me sale:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\WEB\index.php on line 100

1
2
3
4
5
6
7
8
9
10
11
$condicion=$_POST['buscar'];
 
if ($condicion<>"") {
$condicion="WHERE Nombre LIKE '%" . $_POST['buscar']  . "%' or    Area LIKE '%" . $_POST['buscar']  . "%'";
}
 
$sql="SELECT * from Directorio" . $condicion;
$result=mysqli_query($conexion,$sql);
while($mostrar = mysqli_fetch_array ($result)){
 
echo "<tr>";
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema logico ayuda

Publicado por xve (6935 intervenciones) el 10/09/2018 08:34:26
Hola Jose, eso te sucede porque en la consulta SQL hay un error...

A simple vista, cuando concantenas la consulta SQL, queda el nombre de la tabla con WHERE pegado!!! algo así:
1
SELECT * from DirectorioWHERE Nombre LIKE...
Ponle un espacio entre el nombre de la tabla y el WHERE
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

problema logico ayuda

Publicado por Patrick (4 intervenciones) el 10/09/2018 14:40:54
Aparte de lo dicho por xve, que efectivamente es el problema, deberías sanear la entrada del usuario antes de ponerlo en un query.
Me refiero a $condicion=mysqli_real_escape_string($_POST['buscar'])

No sé si vienes de VB, pero <> debería ser != (not equal)
Y ya que estamos, deberías aprender OOP, programar por funciones es difícil de leer.
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