Forum Webscript.Ru
Общие => Базы данных => Тема начата: wert76 от 22 Июля 2005, 23:48:31
-
Сколько ничитал все не пойму как правильно составить запрос...
select * from tablename where ulica=\'$ulica\' and dom=\'$dom\';
Что должно стоять на месте $dom, просто эта переменная нужна, но не всегда,иногда она должна быть пустой,точнее что бы выбор от нее не зависел.
я встречал такое:
select * from tablename where ulica=\'$ulica\' and dom=?;
типа должна выбирать улицу с любым домом,но неработает.
-
http://perldoc.narod.ru/perl-dbi_ref.pdf даже по-русски.
-
Спасибо за ссылочку........очень полезная!
но все равно........
может просто я не стой стороны подхожу? :(
-
my $sql = "select * from tablename where ulica=\'$ulica\' ";
$sql .= " and dom=\'$dom\'" if $dom;
+ ulica=\'$ulica\' - не есть лучший вариант с расстановкой кавычек возможны неприятности, поэтому предварительно пропусти это через метод quote
my $quoted_ulica = $dbh->quote($ulica);
my $sql = "select * from tablename where ulica=$quoted_ulica";
if ($dom) {
my $quoted_dom = $dbh->quote($dom);
$sql .= " and dom=$quoted_dom";
}