MySQLi preparó declaraciones con operador IN
Tengo que seleccionar algunas filas de la base de datos usandoIN
operador. Quiero hacerlo usando una declaración preparada. Este es mi código:
<?php
$lastnames = array('braun', 'piorkowski', 'mason', 'nash');
$in_statement = '"' . implode('", "', $lastnames) . '"'; //"braun", "piorkowski", "mason", "nash"
$data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN (?)');
$data_res->bind_param('s', $in_statement);
$data_res->execute();
$result = $data_res->get_result();
while ($data = $result->fetch_array(MYSQLI_ASSOC)) {
...
}
?>
Pero no devuelve nada aunque todos los datos existen en la base de datos.
Y una más: si me paso.$in_statement
directamente para consultarlo y ejecutarlo, los datos serán devueltos. Entonces el problema aparece en la preparación.
Estaba buscando la pregunta en Google pero no fue exitosa. ¿Qué pasa con mi código?
¡Gracias por la ayuda!