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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  22 Aug 2000  12:55:03
 To : ilya@inf.tsu.ru
 Subject : Re: DBI
 -------------------------------------------------------------------------------- 
 
 >>>  AK>> $h = $dbh->prepare("SELECT * FROM HITS WHERE UID = ?");
 >>>  AK> $h->> execute($var);
 
 iitr> ...
  SS>> представление СУБД, и менять там имена колонок в этот момент уже нельзя.
  SS>> А если даже у mySQL это и не так - то значит его авторам надо мозги
  SS>> вправлять (во что я впрочем готов поверить).
 
 iitr>  Тут есть такой наболевший вопрос - нужно передать как параметр число, а
 iitr>  DBI, передавая $var=1 подставляет в запрос код символа '1' и получается
 iitr>  не 1, а 49.  Я, конечно, понимаю, что внутренее представление этой
 iitr>  области памяти, помеченной символом $var может действительно
 iitr>  представлять из себя 49, но как же тогда указать, что это должно
 iitr>  интерпретироваться числом? Типа val($var). А то грабли огромные.
 
 Грабли, как обычно, заключаются в нечитании документации. СУБД бывают разные.
 MySQL и PostgreSQL, для примера, замечательно интерпретируют '1' как 1, если
 поле числовое. А для тех, у кого неявные преобразования типов устроены иначе,
 существует метод bind_param. В perdoc DBD::твой_драйвер должно быть описано
 то, чего не доописано про него в perldoc DBI.
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: DBI   Artem Chuprina   22 Aug 2000 12:55:03 
Архивное /ru.perl/17121af89f011.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional