Thread: RE: [GENERAL] How can I call a function to return a code fragemen tfrom within a pg_Exec

RE: [GENERAL] How can I call a function to return a code fragemen tfrom within a pg_Exec

From
"Jackson, DeJuan"
Date:
> -----Original Message-----
> > Original.. This works, but needs calls to three tables.
> Where 'code' actually
> > holds all required info.
> >      $result = pg_Exec($database,"select code,title,price
> from catalog where (
> > title like '%$keyword%'  and category like '$category' and
> language like
> > '$language') order by code");
> >
> >
> > What I want to do, is just extract the records, that match
> the code, broken
> > down into category, and language.
> >      $result = pg_Exec($database,"select code,title,price
> from catalog where (
> > title like '%$keyword%'  and (foo($regs[1])) == '$category' and
> > (foo($regs[2])== '$language') order by code");
> > ...................................................................
> > The foo() function is a call to an egreg thing,
> >     (ereg( "([0-9]{1,2})([A-Za-z]{1,3})(.*)", $t_code, $regs );)
> > which can return what I'm looking for,
> >
> > I know these error messages are complaining about foo()
> being in the statement,
> > which is what I'm trying to solve.
> > Warning: PostgresSQL query failed: ERROR: No such function
> 'foo' with the
> > specified attributes in
> > /usr/local/apache/share/htdocs/php/book-2.php3 on line 120
> > Warning: 0 is not a PostgresSQL result index in
> > /usr/local/apache/share/htdocs/php/book-2.php3 on line
> > 121
> >
> >
> > Thanks for any clues to this connundrum...
> >
> > Robert
>
> May be I'm wrong, but it seems, that You call inside sql some php
> functions - it of course produce an error.
> So Your code is wrong - I can not give You more precise
> advice, cause I
> don't know what You exactly want to get.
>     Rem
From you previous message and looking at what you have here I don't
think you want to do this but...
If you mean to call function foo before the SQL get's sent to Postgres
try:
$result = pg_Exec($database,
"SELECT code,title,price FROM catalog
  WHERE title like '%$keyword%' AND " .
        foo($regs[1]) . " = '$category' AND " .
        foo($regs[2]) . " = '$language'
  ORDER BY code");

You might want to consult my reply to your last method for a better
solution to this.
Hope this helps,
    DEJ