Seleccionar de la tabla mysql WHERE field = '$ array'?

2010-03-04 14 views
15

Si tengo una variedad de, por ejemplo, algunas identificaciones de usuarios. ¿Cómo podría hacer algo como esto:

$array = array(1,40,20,55,29,48); 
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'"; 

¿Hay una manera simple de hacer esto, pensé en bucle a través de elementos de matriz y luego la construcción de un gran "DONDE - O O - - OR" pero pensé que podría ser un poco lento para grandes arreglos.

Respuesta

24

Uso IN:

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (1,40,20,55,29,48)"; 

puede utilizar implode(",", $array) para obtener la lista juntos de la matriz.

11

que desea utilizar IN:

WHERE `myfield` IN (1,40,20,55,29,48) 

Uso implode para la construcción de la cadena:

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")"; 
+0

¿Haría "IN ($ array)"? – tarnfeld

+1

No, utilice la implosión para construir la cadena. –

+0

no funciona @Mark Byers –

Cuestiones relacionadas