Buenas
conromx
Mira si la consulta da el resultado almacenado cuando es $x = 1, esa consulta debe funcionar,
pero sino te enviará al ELSE el cual empieza por la palabra AND por lo que la consulta quedaría asi:
Cuando es $x = 1
Código PHP:
Ver originalSELECT * datos FROM tabla WHERE title LIKE '%hola%'
Sin embargo cuando es otro número que no sea 1, está el error ya que la consulta quedaría así.
Código PHP:
Ver originalSELECT * datos FROM tabla WHERE AND title LIKE '%hola%'
Según tu código, corrige ese fallo en el IF ELSE de arriba.
El código lo he probado con este ejemplo, como si la palabra a buscar fuera "hola" y el nombre de la tabla "tabla"
Código PHP:
Ver original<?php
//si $x es uno la consulta tiene sintaxis correcta.
//Si $x es distinto a 1, la consulta NO es correcta su sintaxis. Comprueba eso.
$x = 1;
$construct = "";
$search_each = "hola" ;
if($x==1)
$construct .="title LIKE '%$search_each%'";
else
$construct .="AND title LIKE '%$search_each%'";
$constructs ="SELECT * datos FROM tabla
WHERE $construct";
echo $constructs ;
Revisa tu código de nuevo. Saludos!