From: | tv(at)fuzzy(dot)cz |
---|---|
To: | "Tuo Pe" <tuo_pe(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Problem either with PostgreSQL or with PHP |
Date: | 2010-04-07 16:22:39 |
Message-ID: | 22822.62.40.76.70.1270657359.squirrel@sq.gransy.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> Hi!
>
> I have written this function in PL/pgSQL,
> CREATE OR REPLACE FUNCTION MakeSimpleReservation(integer, integer,
> integer, text, text) RETURNS boolean ...
>
> In my PHP script, I have this code:
> $start_ts = '2010-04-12 11:00:00';
> $end_ts = '2010-04-12 14:00:00';
>
> $update = pg_query($yhteys, "SELECT MakeSimpleReservation(2, 3, 1,
> '{$start_ts}' , '{$end_ts}');");
>
> On psql, I can run a command such as
>
> select * from MakeSimpleReservation(2, 30, 1, '2010-04-12 11:00:00',
> '2010-04-12 14:00:00');
>
> without any problems, but when I try to run it via PHP, I get this error
> message:
>
> ERROR: function makesimplereservation(integer, integer, integer, unknown,
> unknown) does not exist LINE 1: SELECT MakeSimpleReservation(2, 3, 1,
> '2010-04-12 11:00:00' ... ^ HINT: No function matches the given name and
> argument types. You might need to add explicit type casts.
>
> For some reason, the last two function parameters are not recognized as
> strings. Is this a problem with PHP or with PostgreSQL? Can anyone give me
> advice how to fix this?
(a) Why are you passing timestamps as text? Try to use 'timestamp' instead
of 'text' and then cast the values using ::timestamp (e.g. '2010-04-12
11:00:00'::timestamp).
(b) If you really need to pass the values as text, you can cast using
::text (so '2010-04-12 11:00:00'::text will do the trick).
(c) As the function returns boolean, you should use
select makesimplereservation(....) AS 'result';
and not 'select * from ...' - this should be used with SRF (set returning
functions) and I'm not sure if it will work with scalar values.
Tomas
From | Date | Subject | |
---|---|---|---|
Next Message | Frank Heikens | 2010-04-07 16:27:05 | Re: Problem either with PostgreSQL or with PHP |
Previous Message | Tom Lane | 2010-04-07 16:17:19 | Re: Problem either with PostgreSQL or with PHP |