Да, при пустом массиве @values лучше возвращать либо undef, и отрабатывать спец. случай, либо апдейтить @values, добавив в него undef, и возвращать массив из одного плейсхолдера.<br><br><div class="gmail_quote">18 мая 2011 г. 21:29 пользователь Akzhan Abdulin <span dir="ltr"><<a href="mailto:akzhan.abdulin@gmail.com" target="_blank">akzhan.abdulin@gmail.com</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Чутка позабыл перл за отпуск, но вроде делал так:</div><div><br></div>$placeholders = join ',', map { '?' } @values<div>

$sql = "... WHERE field IN ($placeholders)"<br><br></div><div>Генерацию такой строки можно вынести в утилиты, чтобы не писать однотипный join-map. </div><div><div></div><div>
<div><br><div class="gmail_quote">2011/5/18 Василий Рябов <span dir="ltr"><<a href="mailto:me@ryvasy.net" target="_blank">me@ryvasy.net</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Всем привет<br>
<br>
Столкнулся с дурацкой проблемой и не могу найти в документации решение.<br>
Мне нужно выполнить запрос с условием "field in ( ? )".<br>
$sth->bind_value( 1, $args ) подставляет значение $args в плейсхолдер заключенным в кавычки, что не правильно - MySQL из-за этого среди одного значения, а не среди множества.<br>
<br>
Как можно выкрутиться, кроме как передав строку $args в запрос при его подготовке? В частности можно ли как-то заставить bind_value подставлять значение без кавычек, as is?<br>
<br>
Заранее спасибо.<br>
-- <br>
Василий Рябов,<br>
<a href="mailto:me@ryvasy.net" target="_blank">me@ryvasy.net</a><br><font color="#888888">
-- <br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></blockquote></div><br></div>
</div></div></blockquote></div><br>