Op 7 apr 2010, om 18:11 heeft Tuo Pe het volgende geschreven:
Hi!
I have written this function in PL/pgSQL,
CREATE OR REPLACE FUNCTION MakeSimpleReservation(integer, integer,
integer, text, text) RETURNS boolean ...
text, text ?
In my PHP script, I have this code:
$start_ts = '2010-04-12 11:00:00';
$end_ts = '2010-04-12 14:00:00';
Looks like timestamps to me, why do you use TEXT in your function?
$update = pg_query($yhteys, "SELECT MakeSimpleReservation(2, 3, 1,
'{$start_ts}' , '{$end_ts}');");
Why not pg_query_params? That's made to receive parameters:
$update = pg_query_params($yhteys, "SELECT MakeSimpleReservation(2, 3,
1, $1, $2);", array($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?
Tuo
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Frank Heikens
frankheikens@xxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general