We found what we think is the problem.

At another point I was checking to see if the value is equal to 0 regardless of whether its a string or not(checking all hash elements).

What seems like is happening is that when the comparison is made the variable is flagged as an integer. Then when DBI gets the variable it still sees the variable as an integer so doesn't quote it.

if ($p->{P_THROWS} == 0) { # flag as int for numeric comparison # blah } # blah # blah # blah # now when DBI prepares this statement with the bind variable # $p->{P_THROWS} is seen as an int so not quoted. $sth = $dbh->prepare("UPDATE players SET throws=? WHERE id=?");
So it could be some obscure bug with DBI that doesn't recognize the variable as a string. But we upgraded to the recent version of DBI and the problem still occured. So either we're wrong or the bug hasn't been spotted/fixed.

We did manage a work around that doesn't involve testing for 0 so the variable is never flagged as an integer.

Thanks for your help. ;)

Amel - f.k.a. - kel


In reply to Re: Re: Re: Re: DBI/DBD::mysql bugs? by dsb
in thread DBI/DBD::mysql bugs? by dsb

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.