http://www.perlmonks.org?node_id=527909


in reply to Bug Report: DBI, string fn REGEXP bound variable

Where is your code? If you want to submit a bug report, you should present a repeatable test case.

Anyway, there is no bug with that query. As the following snippet shows, the query you have proposed works just fine.

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use DBI; my $user = undef; my $password= undef; my $dbh=DBI->connect("dbi:mysql:test;host=localhost" . ";mysql_read_default_file=$ENV{HOME}/.my.cnf", $user, $password, {RaiseError => 1}) or die "Can't connect: $DBI::errstr\n"; $dbh->do(qq{DROP TABLE IF EXISTS t}) ; $dbh->do(qq{ CREATE TABLE t ( i int not null, c char(10), primary key (i)) }); $dbh->do(qq{ insert into t (i,c) values (1, 'cat'), (2,'dog'), (3,'rabbit'), (4,'horse') }) ; my $query = q|SELECT * FROM t WHERE REPLACE(c,"","") REGEXP ?|; my $sth = $dbh->prepare($query); $sth->execute('t$'); print "one by one\n"; while (my $rec = $sth->fetchrow_arrayref()) { print Dumper($rec); } print "all at once\n"; print Dumper $dbh->selectall_arrayref($query,{ Slice=>{} }, '^d' ); one by one $VAR1 = [ 1, 'cat' ]; $VAR1 = [ 3, 'rabbit' ]; all at once $VAR1 = [ { 'c' => 'dog', 'i' => 2 } ];

Perhaps, you should consider a bug in YOUR code.

PEBCAK.

  • Comment on NOT A DBI BUG! Re: Bug Report: DBI, string fn REGEXP bound variable
  • Download Code