Расширение PHP Mysqli: использование ключевого слова IN в подготовленном выражении - PullRequest
0 голосов
/ 06 ноября 2011

Я делаю несколько запросов в базу данных MySQL, используя расширение MySQLi в PHP.Мне нужно сделать запрос, подобный следующему:

SELECT col1, col2 FROM mytable WHERE id IN (2, 4, 6);

Это конкретный пример запроса, но число идентификаторов внутри скобок после ключевого слова IN будет отличаться.Поскольку я хочу использовать функцию mysqli->prepare() (подготовленный оператор), я бы сделал это следующим образом:

$statement->prepare("SELECT col1, col2 FROM mytable WHERE id IN (?)");
$statement->bind_pararm("s".... something)

Я не уверен, что поместить в функцию bind param, так как не могу знать, сколькоИдентификаторы будут фактически запрашиваться.Я не смог найти примеров использования ключевого слова IN в подготовленных выражениях.

1 Ответ

1 голос
/ 06 ноября 2011

Если вы подготовите свое заявление, как только оно вам понадобится, вы можете создать заполнители, такие как

join(",", array_fill(0, count($ids) , "?"))

или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...