Solución:
Utilice la función FIND_IN_SET:
SELECT t.*
FROM YOUR_TABLE t
WHERE FIND_IN_SET(3, t.ids) > 0
Para cuando la consulta llegue a SQL, ya debe haber expandido la lista. La forma fácil de hacer esto, si está utilizando ID de alguna fuente de datos interna y confiable, donde puede estar 100% seguro de que son números enteros (por ejemplo, si los seleccionó de su base de datos antes) es la siguiente:
$sql="SELECT * WHERE id IN (" . implode(',', $ids) . ')';
Sin embargo, si sus datos provienen del usuario, deberá asegurarse de obtener solo valores enteros, tal vez más fácilmente así:
$sql="SELECT * WHERE id IN (" . implode(',', array_map('intval', $ids)) . ')';
Si el elemento de la matriz no es un número entero, puede usar algo como a continuación:
$skus = array('LDRES10','LDRES12','LDRES11'); //sample data
if(!empty($skus)){
$sql = "SELECT * FROM `products` WHERE `prodCode` IN ('" . implode("','", $skus) . "') "
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)