Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : abrasha shapirus                     2:550/4077.940 24 Nov 2003  15:36:50
 To : Jahor Miadzviedziew
 Subject : DBI и метод quote
 -------------------------------------------------------------------------------- 
 
 
  JM> есть, скажем
  JM> ...
  JM> my $sth = $dbh->prepare_cached("SELECT var FROM table WHERE
  JM> another_var=?");
  JM> ...
  JM> $sth->execute($another_var);
  JM> ...
  JM> при вызове $sth->execute($another_var); для $another_var будет
  JM> вызываться quote() для $another_var или это я должен сам делать?
 
 по-моему, это зависит от используемого драйвера.
 я как-то наткнулся на проблему при использовании DBD::mysql. дело в том, что
 mysql не желает принимать значения в кавычках в качестве параметров модификатора
 LIMIT. то есть, LIMIT 0,5 -- это нормально, а LIMIT '0','5' не схавает.
 
 у меня были вызовы типа:
 
 $dbh->prepare('SELECT foo FROM bar ORDER by zzz LIMIT ?,?');
 $sth->execute($qty * $pos, $qty);
 
 как-то само собой получалось, что параметры не квотились.
 а потом поставил более свежую версию DBD::mysql, и все всегда начало квотиться,
 что вызвало проблемы.
 
 чтение чейнджлога показало, что:
 
 2003-06-22  Rudy Lippan  <rlippan@remotelinux.com> (2.9002)
 
           [skipped]
 
         * Fixed bug where strings that were used in numeric
           context were not getting quoted on execute(). Now all
           parameters are bound as varchar by default.
 
           **NOTE** this is a change in behaviour that MAY cause problems
           with some SQL statements. If quoted integers, for example,
           cause any problems, use bind_param(<column_id>, undef, SQL_INTEGER)
           to force a column to be bound as an integer.
 
 в общем, tyt и метод решения проблемы указан.
 
                                                                        шапирус.
 ... Я не получаю почту ни у Янкевича, ни у Яргина.
 ---
  * Origin:  (2:550/4077.940)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 DBI и метод quote   Jahor Miadzviedziew   21 Nov 2003 13:30:29 
 DBI и метод quote   abrasha shapirus   24 Nov 2003 15:36:50 
 Re: DBI и метод quote   Jahor Miadzviedziew   25 Nov 2003 19:36:57 
 DBI и метод quote   abrasha shapirus   26 Nov 2003 08:42:34 
Архивное /ru.perl/46683fc1fe45.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional