Forum Webscript.Ru

Общие => Базы данных => Тема начата: wert76 от 22 Июля 2005, 23:48:31

Название: Синтаксис Select в MySQL
Отправлено: wert76 от 22 Июля 2005, 23:48:31
Сколько ничитал все не пойму как правильно составить запрос...
select * from tablename where ulica=\'$ulica\' and dom=\'$dom\';
Что должно стоять на месте $dom, просто эта переменная нужна, но не всегда,иногда она должна быть пустой,точнее что бы выбор от нее не зависел.
я встречал такое:
select * from tablename where ulica=\'$ulica\' and dom=?;
типа должна выбирать улицу с любым домом,но неработает.
Название: Синтаксис Select в MySQL
Отправлено: NeoNox от 23 Июля 2005, 00:00:02
http://perldoc.narod.ru/perl-dbi_ref.pdf даже по-русски.
Название: Синтаксис Select в MySQL
Отправлено: wert76 от 23 Июля 2005, 00:26:45
Спасибо за ссылочку........очень полезная!
но все равно........
может просто я не стой стороны подхожу? :(
Название: Синтаксис Select в MySQL
Отправлено: Green Kakadu от 23 Июля 2005, 14:11:45
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";
}