in reply to Re: DBI and bind_columns again
in thread DBI and bind_columns again

If your were running this code under use strict; you would have gotten an error for this part of the code: my ($id,$ip,$country); $sql->bind_columns(\($id,$ip,$port,$country)); which should be
my ($id,$ip,$port,$country); $sql->bind_columns(\($id,$ip,$port,$count +ry));
You are right..but it is right in my code, i've just misscopypasted some how o_O =)
This may or may not have anything to do with your problem, whatever your problem is: "and on binding a select query result we got stuck.." isn't the most clear description of an error. What kind of error are you experiencing?
Description of a problem is not in "and on binding a select query result we got stuck.." it is in a DBI debug report >> "<- fetch= '1' '180.118.232' undef undef row1" So two fields are defined, but others are now..i just cant understand how it could be, while it was clearly INSERT'ed.
Also, the idiom my $query = "CREATE ..." and sql_exec(0,$query); is unnecessarily obfuscated. Why don't you just do: my $query = "CREATE ..."; sql_exec(0,$query); or even sql_exec(0,"CREATE ...");
It is reasonable, thank you!

Replies are listed 'Best First'.
Re^3: DBI and bind_columns again
by CountZero (Bishop) on May 01, 2009 at 10:05 UTC
    Are you sure all values were indeed correctly inserted? My first guess would be that the port and country fields are empty in your database.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      "Are you sure all values were indeed correctly inserted? My first guess would be that the port and country fields are empty in your database." May be you are right...but why? Query likely to be correct stated..and i think Insert query should return errstr in such situation, should'nt it?
        i think Insert query should return errstr in such situation, should'nt it?
        It should, but there is nothing guaranteed. All depends on the database and the DBI and DBD implementation.

        I never used the DBM database (strictly MySQL or SQLite here) but I read in the DBD::DBM docs that "out-of-the-box" it only supports tables with two columns, unless you specifically require the multi-column version. Maybe that is where the problem is coming from?

        CountZero

        A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James