Sigo sin tener claro si en la tabla de la base tienes valores numéricos, o cosas como "1-34-197".
Me explico un poco más claro:
Si tienes valores numéricos simples, entonces los datos del GET están llegando mal, porque para esa consulta debe venir un único valor, no varios, y menos aún separados por guiones.
En el caso de ser ID un campo numérico, y querer consultar por varios valores, pero GET aporta una cadena, primero debes transformar "0-67-198" en "0,67, 198", con comas, y luego puedes usar dos formas:
- Si quieres usar sólo números, la query deberá ser:
Código SQL:
Ver originalSELECT * FROM products WHERE id IN($id)
Donde el resultado será
Código SQL:
Ver originalSELECT * FROM products WHERE id IN(0,67, 198)
- Si quieres dejarlo como cadena, debes usar funciones:
Código SQL:
Ver originalSELECT * FROM products WHERE FIND_IN_SET('$id')
donde el resultado será:
Código SQL:
Ver originalSELECT * FROM products WHERE FIND_IN_SET('0,67, 198')
Ambos traerán resultados en ese caso.
Ahora bien,
si el campo de la tabla en base fuese VARCHAR, y tuviese valores como "0-67-198", eso estaría MAL. Tendrías un serio defecto de diseño de datos, porque no deben ponerse múltiples valores de datos en un mismo campo de un único registro.
Eso requeriría rediseñar la tabla y las relaciones de la base.
Así que ¿cuál es realmente el contenido en un registro cualquiera de ese campo?