Thread: How can I call a function to return a code fragement from within a pg_Exec
How can I call a function to return a code fragement from within a pg_Exec
From
Robert Chalmers
Date:
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 -- http://www.chalmers.com.au. Publications From China in 24 different languages. English, French, German, Russian, Arabic, Spanish, Chinese, Burmese, Bengali, Hindi, Indonesian, Italian, Japanese, Korean, Portuguese, Persian, Swahili, Sinhalese, Thai, Tamil, Urdu, Vietnamese. China Books for CIBTC, Beijing.
Re: [GENERAL] How can I call a function to return a code fragement from within a pg_Exec
From
Remigiusz Sokolowski
Date:
> > 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 -------------------------------------------------------------------*------------ Remigiusz Sokolowski e-mail: rems@gdansk.sprint.pl * * -----------------------------------------------------------------*****----------