[Moscow.pm] bind_value

Andrew Shitov andy на shitov.ru
Ср Май 18 10:17:50 PDT 2011


Я обычно передаю текстом:

my $in = join ',', map {$dbh->quote($_)} @values;
$sth = $dbh->prepare("
    select
        *
    from
        table
    where
        field in ($in)
");

Движения пальцев отработаны, и даже не приходится задумываться :-)


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
>



-- 
Andrew Shitov
______________________________________________________________________
andy на shitov.ru | http://shitov.ru


Подробная информация о списке рассылки Moscow-pm