[Moscow.pm] bind_value

Oleg Kostyuk cub.uanic на gmail.com
Ср Май 18 13:24:02 PDT 2011


18 мая 2011 г. 21:49 пользователь Анатолий Шарифулин
<sharifulin на gmail.com> написал:
> Всё просто, ....
..., если перейти на DBIx::Class ;)


> генерить надо 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
>
>



-- 
Sincerely yours,
Oleg Kostyuk (CUB-UANIC)


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