Подготовленные операторы MySQLi с оператором IN

Мне нужно выбрать несколько строк из базы данных с помощью оператора IN. Я хочу сделать это, используя подготовленный оператор. Это мой код:

<?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)) {
   ...
}
?>

Но ничего не возвращает, хотя все данные существуют в базе данных.

И еще один :, если я передам $in_statementнепосредственно в запрос и выполню его, данные будут возвращены. Так что проблема возникает при подготовке.

Искал вопрос в гугле, но безуспешно. Что не так с моим кодом?
Спасибо за помощь!

5
задан kpotehin 21 October 2012 в 00:59
поделиться