Hi cLive,
I tried $DBI::errstr last night, and I got a bunch of Win32 errors (couldn't find cmd.exe, etc), which is normal, since I'm running under Linux. I'm still trying to figure this one out.
I did a bit more digging in my Perl books (Perl in a Nutshell, O'Reilly, section 12.3), and it seems that errstr should be used in the following manner:
$dbHandle->errstr
as opposed to
$DBI::errstr
I'm not familliar enough with Perl to say if these two statements are equivalent, but I'll look into it tonight as well.
Finally, the reason I've been referring to $DBI::errmsg is because it's what's written in O'Reilly's MySQL & mSQL book. I don't have the book handy right now, but I'll double check to make sure I'm not making a fool out of myself during my first impression. I'm sure there will be ample opportunity for that later. :-)
Nat | [reply] [d/l] [select] |
$dbHandle->errstr is object-oriented syntax,
$DBI::errstr is procedural syntax. In theory,
calling errstr using a dbHandle
should return the last error on that handle and calling it
through the DBI module should return the last
error seen anywhere in the database. But, given that
- Many programs only use a single database connection
- Many database engines only preserve a single error
message per client
- You should check your error messages immediately, before
going on to another database operation
they end up being interchangable in practice.
| [reply] [d/l] [select] |