Страница 1 из 1

[perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-17 21:08:45
vitar
Выполняю вот такой вот код

Код: Выделить всё

      ...
      my $lip = "10.0.0.1";
      my $query = "SELECT id FROM localips WHERE ip = INET_ATON('".$lip."')";
      print $query."\n";
      my $sqlsi = $dbh->prepare($query);
      $sqlsi->execute() or warn "Can't find record for '$lip'\n";
      ...
получаю

Код: Выделить всё

       SELECT id FROM localips WHERE ip = INET_ATON('10.0.0.1')
       DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.0.1))' at line 1 at ./test.pl line 52.
Где я дурак?

PS. Если этот SQL затолкать напрямую в mysql(скажем через phpmyadmin или консольный клиент) - все работает как нада.

Re: [perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-18 9:29:06
hizel

Код: Выделить всё

my $sqlsi = $dbh->prepare('SELECT id FROM localips WHERE ip = INET_ATON(?)');
$sqlsi->execute($lip);

Re: [perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-18 9:41:26
ProFTP

Код: Выделить всё

  my $query = 'SELECT id FROM localips WHERE ip = '.$lip;
      my $sqlsi = $dbh->selectrow_array($query);
print $sqlsi;

Re: [perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-18 10:45:00
thefree

Код: Выделить всё

INET_ATON('".$lip."')";

Re: [perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-18 13:23:00
vitar
hizel писал(а):

Код: Выделить всё

my $sqlsi = $dbh->prepare('SELECT id FROM localips WHERE ip = INET_ATON(?)');
$sqlsi->execute($lip);
Спасибо. То что нада :smile:

Одно только уточнение ... если несколько переменнных нужно передать - они пойдут в порядке перечисления?

Re: [perl/dbi/mysql] непонятка с кавычками

Добавлено: 2010-03-18 13:49:08
thefree
perldoc DBD::Mysql