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

Reply via email to