Да, при пустом массиве @values лучше возвращать либо undef, и отрабатывать спец. случай, либо апдейтить @values, добавив в него undef, и возвращать массив из одного плейсхолдера.
18 мая 2011 г. 21:29 пользователь Akzhan Abdulin <[email protected]>написал: > Чутка позабыл перл за отпуск, но вроде делал так: > > $placeholders = join ',', map { '?' } @values > $sql = "... WHERE field IN ($placeholders)" > > Генерацию такой строки можно вынести в утилиты, чтобы не писать однотипный > join-map. > > 2011/5/18 Василий Рябов <[email protected]> > >> Всем привет >> >> Столкнулся с дурацкой проблемой и не могу найти в документации решение. >> Мне нужно выполнить запрос с условием "field in ( ? )". >> $sth->bind_value( 1, $args ) подставляет значение $args в плейсхолдер >> заключенным в кавычки, что не правильно - MySQL из-за этого среди одного >> значения, а не среди множества. >> >> Как можно выкрутиться, кроме как передав строку $args в запрос при его >> подготовке? В частности можно ли как-то заставить bind_value подставлять >> значение без кавычек, as is? >> >> Заранее спасибо. >> -- >> Василий Рябов, >> [email protected] >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
