[Moscow.pm] bind_value
Dmitry Karpich
meettya на gmail.com
Ср Май 18 13:24:07 PDT 2011
Собственно, я по наивности считал, что единственный прямой вариант:
my $sth = $dbh->prepare("SELECT foo FROM foo WHERE id IN (" . join(',', map {'?'} @docs) . ")");
$sth->execute(@docs);
а биндинги типа bind_param тут неудобны, этож прийдется все элементы поименно прикручивать.
Митяй.
On May 18, 2011, at 10:49 PM, Анатолий Шарифулин wrote:
> Всё просто, генерить надо IN вручную, каждый элемент пропустить через quote, НО если нет параметров, то NULL.
>
> У меня это делает DBI::Util, скоро выложу :)
>
>
> 2011/5/18 Yury Zavarin <yury.zavarin на gmail.com>
> Ой, прошу прощения, не на тот вопрос ответил. Думал, что речь идет про один параметр.
>
>
> 2011/5/18 Yury Zavarin <yury.zavarin на gmail.com>
> Не нашел в документации метода bind_value.
> Но вот мне когда нужно было однажды так сделать, я делал так:
> $sth->bind_param($pnum, $value, { TYPE => SQL_INTEGER });
>
> P. S. Тут важно понимать, что если начал пользоваться bind_param, то нужно его вызвать для всех placeholder'ов, т. е. для тех, которые должны быть в кавычках, нужно вызывать просто
> $sth->bind_param($another_pnum, $another_value);
>
>
>
> 2011/5/18 Василий Рябов <me на ryvasy.net>
> Всем привет
>
> Столкнулся с дурацкой проблемой и не могу найти в документации решение.
> Мне нужно выполнить запрос с условием "field in ( ? )".
> $sth->bind_value( 1, $args ) подставляет значение $args в плейсхолдер заключенным в кавычки, что не правильно - MySQL из-за этого среди одного значения, а не среди множества.
>
> Как можно выкрутиться, кроме как передав строку $args в запрос при его подготовке? В частности можно ли как-то заставить bind_value подставлять значение без кавычек, as is?
>
> Заранее спасибо.
> --
> Василий Рябов,
> me на ryvasy.net
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
>
> --
> С уважением,
> Анатолий Шарифулин.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110519/32a57b27/attachment.html>
Подробная информация о списке рассылки Moscow-pm