Hay varios detalles:
LIKE es una palabra reservada de MySQL, porque es una cláusula usada en el WHERE para búsquedas por patrones o similitudes por aproximación. En ese sentido, si por
accidente se le pone ese nombre a la tabla, el nombre debe estar siempre encerrado entre acentos inversos, tal y como haces en los siguientes dos ejemplos.
En ese sentido, esta consulta
debería generar un error de sintaxis:
Si por milagro no lo hace, perfecto.
Esta otra, por su lado, está bien:
ya que el "like" está encerrado correctamente y se interpretará como nombre de tabla.
Pero lo que pusiste en el script, está
mal escrito: Está mal, por al menos dos detalles:
1) No está claro qué comparación harás con el "id" en el WHERE.
2) Se infiere que quisiste copiar el ejemplo del caso que linkeaste, pero en ese la sintaxis es diferente:
Código MySQL:
Ver original$consulta = "select * from tabla where ".$tipobusqueda." like '%".$busqueda."%' ";
que si la escribimos sin los encadenamientos (.), y en una sola cadena qeudaría:
Si observas, LIKE en este caso es la cláusula del WHERE, como te decía, pero además los "%" son parte de la cadena del valor buscado, y además quedan encerrados entre apóstrofos, como deben ir las cadenas de texto en una sentencia de MySQL.
Si comparamos lo de ese ejemplo con lo tuyo notamos que: a) Te olvidaste de encerrar la expresión en apóstrofes, y b) no definiste la operación de comparación con el "like.id", como ya dije.
En ese contexto, si no indicas la operación, el resultado sería un error de MySQL, que no veo que estés capturando como tal.
Código PHP:
Ver original$search = $_POST['search'];
$res = mysql_query("SELECT * FROM `like` WHERE `id` "%$search%"");
contra:
Código PHP:
Ver original$search = $_POST['search'];
$res = mysql_query("SELECT * FROM `like` WHERE `id` LIKE '%$search%'");
En resumen, es posible que se produzca un error de sintaxis que no estés controlando, o que la sintaxis quede relativamente coherente, pero lógicamente errónea , y no devuelva datos, dependiendo de lo que llegue en la variable, que no se ve en los scripts que posteas.