[ic] SQL Statements within Usertags

Rich Doughty interchange-users@icdevgroup.org
Thu Jan 16 08:48:01 2003


On 16 Jan 2003, Stefan Hornburg wrote:
> > > 

<snip>

> > > To my knowledge, any query in the example above would work in your case, regardless of
> > > the tables= and $Db parameter.
> > 
> > I'm getting an error $Db {products} undefined.
> > keys (%Db) returns empty, although %Db *is* defined.
> 
> Please post your erroneous code.
> 

Usertag is:
    UserTag         testcase Interpolate  1
    UserTag         testcase HasEndTag    1
    UserTag         testcase Routine      <<EOR
        sub {
            my ($body) = @_;
            my $rv;
    
            my $rs = $Db {products}->query ('SELECT * FROM products');
    
            return 1;
        }
    EOR

page contains:
    [testcase] test [/testcase]

Results are:
    Apache internal Server error - Premature end of script headers

    IC log shows "Runtime error: Can't call method "query" on an
    undefined value at (eval 840) line 5."

database setup in catalog.cfg is:
    Database         userdb            userdb.txt     __SQLDSN__
    Database         userdb            USER           __SQLUSER__
    Database         userdb            PASS           __SQLPASS__
    Database         products          products.txt   __SQLDSN__
    Database         products          USER           __SQLUSER__
    Database         products          PASS           __SQLPASS__

    (where __SQLDSN__ is dbi::mysql::__DBNAME__::__DBPORT__)

IC v4.8.6
Perl 5.8.0 (i386-linux-thread-multi - could this cause problems like it does
            with locking?)


all i want to do is reuse the DBI connection within my tag.


thanks for any help

  - Rich Doughty