I have a snippet here of my .epl file:
> my ($group_file) =
> Apache::Htgroup->load('/www/ok_users/ar_group'); DBI->trace(2,
> '/tmp/dbitrace.txt');
>
> use DBIx::Recordset ;
> $maxrow = 500;
> $db{'!DataSource'} = $req->{website_database};
> $db{'!Username'} = $req->{db_user};
> $db{'!Password'} = $req->{db_pass};
> $db{'!Table'} = 'ar_events';
> $db{'!Fields'} = 'datetime,eventcode,user,info';
>
> $db{'$where'} = 'ar_id = ?';
> $db{'$values'} = ["$req->{review_num}"];
>
> # If user is a member of acctmgr group, don't show them Status_Viewed records.
> if ($group_file->ismember($req->{user},'acctmgr')) {
> $db{'$where'} = $db{'$where'} . ' AND eventcode != ?';
> $db{'$values'} = [$db{'$values'},'Status_Viewed'];
> }
>
> # If the user is not a member of demomode,admin,developer don't show the
>Analyst_Activity records.
> if ((!$group_file->ismember($req->{user}, 'demomode')) &&
> (!$group_file->ismember($req->{user}, 'admin')) &&
> (!$group_file->ismember($req->{user}, 'developer'))) {
> $db{'$where'} = $db{'$where'} . ' AND eventcode != ?';
> $db{'$values'} = [$db{'$values'},'Analyst_Activity'];
> }
>
> *set = DBIx::Recordset -> Search(\%db);
> $names = $set -> Names;
This works fine if the two IF clauses fail. If both of the conditions are not met
then the query works like it should. If either of the conditions is met, things
break.
The $values parameter is getting 'undef' in my DBI->Trace info:
> -> bind_param for DBD::Sprite::st (DBI::st=HASH(0x85254e4)~0x883b6e4 1
>ARRAY(0x8a54604) undef)
> -> bind_param for DBD::Sprite::st (DBI::st=HASH(0x85254e4)~0x883b6e4 2
>'Analyst_Activity' undef)
... so I think I'm specifying them incorrectly. I'm not familiar with the square
brackets notation. I assume it makes an array? Clearly I'm missing
something in my Perl knowlege. Can someone straighten me out?
Thanks!
Scott
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]