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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Serg Chervjakov                      2:5020/400     28 Jul 2005  16:09:09
 To : Zavalishin Dennis
 Subject : переменная в запросе mysql
 -------------------------------------------------------------------------------- 
 
 Thu Jul 28 2005 15:46, Zavalishin Dennis wrote to All:
 
  ZD>   $sth = $dbh->prepare( q{ SELECT * FROM catalog_structure  where
  ZD>   types=0 })  || die "Can't prepare statement: $DBI::errstr";
  ZD>   $sth->execute;
  ZD> Hемогу подставить переменную после types= (вместо 0)
  ZD>   Пытаюсь подставить хэш $form{'types'}, значение = 1
  ZD>   Пытался подставлять:     types='$form{'types'}'
  ZD>              types="$form{'types'}"
  ZD>              types=$form{'types'}
  ZD> И просто отдельной переменной.
  ZD> В результате БД не находит ниодного значения в таблице
 
 Я чесно сознаюсь - я никогда не пользовался q {}:). Хоть я и представляю, что
 эта штука квотит то что внутри скобок, но как квотит (с интерполяцией или
 нет), я не знаю и смотреть доки мне тоже лень:).
 Потому просто скажу, что 
 $sth = $dbh->prepare("SELECT * FROM catalog_structure where
 types='$form{types}'") будет работать.
 Hо это было бы плохой услугой дать такую подсказку:). Потому что правильное
 решение - почитать про плейсхолдеры (в документации вестимо, предположительно
 - perldoc DBI), а ответом в данном случае будет:
 $sth = $dbh->prepare( q{ SELECT * FROM catalog_structure  where types=? },
 $form{'types'}) || die "Can't prepare statement: $DBI::errstr";
 
 $sth->execute;
 
 если делать в твоем варианте записи..
 В моем:
 $sth = $dbh->prepare("SELECT * FROM catalog_structure  where types=?",
 $form{types});
 
 $sth->execute;
 
 ибо ошибки я предпочитаю отлавливать встроенными в DBI средствами отлова
 ошибок (да, да - пинайте меня все, а я все равно буду делать так как
 нравится):).
 
 --- ifmail v.2.15dev5.3
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 переменная в запросе mysql   Zavalishin Dennis   28 Jul 2005 15:46:40 
 переменная в запросе mysql   Serg Chervjakov   28 Jul 2005 16:09:09 
 Re: переменная в запросе mysql   Zavalishin Dennis   28 Jul 2005 16:16:16 
 переменная в запросе mysql   Artem Korneev   31 Jul 2005 02:48:56 
 Re: переменная в запросе mysql   Maxim Yemelyanov   28 Jul 2005 16:39:06 
 Re: переменная в запросе mysql   Maxim Yemelyanov   28 Jul 2005 16:39:07 
 Re: переменная в запросе mysql   Valentin Nechayev   29 Jul 2005 10:16:48 
Архивное /ru.perl/16679e4e34948.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional