Re: Undefined $DBI::errstr on error using MySql on Windows-7-x64
"Martin J. Evans" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.general |
|---|---|
| Message-ID | <[email protected]> |
On 27/09/11 10:51, Tadhg MacCarthy wrote:
> Hello all,
>
> I hope I can get some insight on this issue here.
>
> Hello,
>
> The following code:
>
> use warnings;
> use DBI;
> $h=DBI->connect('dbi:mysql:cq','root','password',{RaiseError=>0,PrintError=>0})
> or die "Connection Failed: $DBI::errstr";
> $s=$h->prepare("select * from does_not_exist");
> $s->execute or die 'Execute Failed with error ['. $s->errstr . ']';
>
> produces the output:
>
> Use of uninitialized value in concatenation (.) or string at
> testmysql.plline 15.
> Execute Failed with error [] at testmysql.pl line 5.
Seems to work fine for me:
perl -le 'use strict; use warnings; use DBI; my $h = DBI->connect("dbi:mysql:database=test", "xxx","yyy", {RaiseError => 0, PrintError => 0}) or die $DBI::errstr; my $s = $h->prepare(q/select * from does_not_exist/) or die $DBI::errstr; $s->execute or die "DBI:" . $DBI::errstr . " sth:", $s->errstr;'
DBI:Table 'test.does_not_exist' doesn't exist sth:Table 'test.does_not_exist' doesn't exist at -e line 1.
> The environment is:
>
> DBD-mysql 4.0.19
> MySQL: Server version: 5.5.15 MySQL Community Server (GPL)
> Perl 5.14.1: This is perl 5, version 14, subversion 1 (v5.14.1) built for
> MSWin32-x64-multi-thread
> ActivePerl 5.14.1 Build 1401 (64-bit)
> Windows 7 Professional Sevice Pack 1 64 bit
and DBI version?
> The code produces the expected output when the operating system is Windows
> XP 32-bit.
>
> Other information:
> Valid SQL works as expected on Windows-7-x64 - it just seems that the error
> string is not set correctly.
>
> Bug reported at:
> https://rt.cpan.org/Public/Bug/Display.html?id=71047
>
> Also posted to StackOverflow:
> http://stackoverflow.com/questions/7432944/undefined-dbierrstr-using-dbi-perl-and-mysql-on-windows-7-x64
>
> Thanks in advance,
> Tadhg
>
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com