[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sarge problems with MySQL and DBI / DBD::mysql



We have an application that has just upgraded to Debian sarge with mysql
upgrading from 3.23.49 to 4.0.24.  As far as I know I have followed all
the procedures for upgrading the database.

Some queries always fail in DBD::mysql (in DBI) although they work OK
with the mysql client.

For example, this SQL command:

	SELECT description
		FROM IncoCountry
		WHERE value = "EW";

which returns 0 rows, works correctly in mysql.  But when it is passed
through this statement in Perl:

        my @row = $dbh->selectrow_array($sql) or
                &failed(__FILE__, __LINE__,
                 "Failed to run the sql statement with error
                  $DBI::errstr");

it fails inside DBD::mysql without giving any message in $DBI::errstr:

DBD::mysql::db::prepare(/usr/lib/perl5/DBD/mysql.pm:208):
208:        my $sth = DBI::_new_sth($dbh, {'Statement' => $statement});
  DB<2> n
DBD::mysql::db::prepare(/usr/lib/perl5/DBD/mysql.pm:211):
211:        if (!DBD::mysql::st::_prepare($sth, $statement, $attribs)) {
  DB<2> s
DBD::mysql::db::prepare(/usr/lib/perl5/DBD/mysql.pm:215):
215:        $sth;
  DB<2> s
main::failed(/home/domain/www.chpresenters.co.uk/web/cgi-bin/ocms-multi/common/cgi-lib.pl:117):

If a row is added to the table to be returned by this query, the problem
goes away.

How can I debug or fix this problem, please?
-- 
Oliver Elphick                                          olly@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA  92C8 39E7 280E 3631 3F0E  1EC0 5664 7A2F A543 10EA
                 ========================================
   Do you want to know God?   http://www.lfix.co.uk/knowing_god.html



Reply to: