estoy en movimiento algo de código antigua a la nueva interfaz de MSQLI usando declaraciones preparadas, estoy teniendo problemas con las sentencias SQL que contienen la cláusula IN. Me gustaría simplemente normalmente hacer esto:¿Cómo se utiliza en las cláusulas con mysqli declaraciones preparadas
$ids = '123,535,345,567,878'
$sql = "SELECT * FROM table WHERE id IN ($ids)";
$res = mysql_query($sql);
Convirtiendo esto a Mysqli y declaraciones preparadas He intentado varias soluciones:
$ids = '123,535,345,567,878'
$ids = implode($ids,',');
$result = $msqli->prepare("SELECT foo,blar FROM table WHERE id IN (?));
$result->bind_param("i", $ids);
$result->execute();
lo anterior falla y calculando el número de elementos en la matriz y la alteración número de signos de interrogación en la cadena SQL y llamar bind_parm para cada elemento en la matriz también falla. Solo usar la secuencia separada por comas también falla.
No puedo encontrar ninguna buena documentación de Google en esto, así que ¿Cómo se ha resuelto el problema?
duplicado posible de [? PreparedStatement en la cláusula alternativas] (https://stackoverflow.com/questions/178479/preparedstatement -in-clause-alternatives) – bfavaretto