I know this is entry very old but I have to correct. DBI execute() never returns 'E0E' but '0E0' which evaluates to 0 in int context and true in boolean context. DBI selectrow_arrayref() returns an reference to an array or undef.
In your 1st case:
$arrayRef is undef when an error occours => false $arrayRef points to an empty list when no results are fetched => false $arrayRef points to array with the first row of data. => trueYou can use the // operator to check for undef. Like $arrayRef = $dbh->selectrow_arrayref($QUERY) // die "Error: " . $dbh->errstr;
In your 2nd case:
$result > 0 you got results. => true $result == "0E0" No results - no error => true $result == undef Error. => falseSome recommendations:
In reply to Re: DBI confusion
by toke
in thread DBI confusion
by PerlRob
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |