Lists: | Postg토토SQL : Postg토토SQL 메일 링리스트 : 2014-07-29 이후 PGSQL-PHP 13:09 |
---|
From: | Jeff Silberberg <jms(at)dapage(dot)net> |
---|---|
To: | pgsql-php(at)postgresql(dot)org |
Subject: | Looking for some assistance / guidance -- |
Date: | 2014-07-29 00:45:06 |
Message-ID: | CALWasQ=LmiZsZdJ1sLUT4jWrULSOLNsGS298yLkafKbEppbEHQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-php |
Good evening --
I have a Wordpress / HTML form that includes <select size="5" multiple
name=Keys[]"....>
The form calls a PHP CGI program and if I set it to phpinfo() I see that
the array Keys is in the post data. An I can do a $selectedKeys =
$_POST('Keys') and walk through and echo out the array elements without a
problem.
My issues start when I attempt to pass the array of Keys to my PostgreSql
function with a parameter list of (web_Keys_ integer[], web_text_ text,
web_user_ text) ................
in my php I do a pg_connect, and then prepare a number of statements all of
which work but the last one.
it is $return_cde = pg_prepare($conn, "SendKeys", 'select
web.sendKeys$1, $2, $3)');.
and I try to execute this with
$userKey=$_POST['Keys'];
$userText=$_POST['msgText'] . " / " . $current_user->display_name;
$return = pg_execute($conn, "SendKeys", array($userKey, $userText,
$current_user->display_name));
Which returns and error --
function.pg-execute <http://dispatch.dapage.net/cgi-bin/function.pg-execute>]:
Query failed: ERROR: array value must start with "{" or dimension
information in */home/xxxxxxx/public_html/enterkey/cgi-bin/xxxxxxcgi.php*
on line *90*
echo "User Keys " . gettype($userKey)."<br>\n"; confirms this is a
Array .. An I have tried casting $1::int[] in the prepare with no
luck..
I find a lot of hits on Google searches but no solutions..
Hoping someone here can assist me with this issue..
=============
From: | Matthias Ritzkowski <matthiar(at)gmail(dot)com> |
---|---|
To: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: Looking for some assistance / guidance -- |
Date: | 2014-07-29 01:03:47 |
Message-ID: | 53D6F2F3.4050707@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-php |
Is the array maybe zero-based?
Did you try 'select web.sendKeys$0, $1, $2, $3' ....
Regards
Matthias
On 7/28/14, 8:45 PM, Jeff Silberberg wrote:
> Good evening --
>
> I have a Wordpress / HTML form that includes <select size="5" multiple
> name=Keys[]"....>
>
> The form calls a PHP CGI program and if I set it to phpinfo() I see
> that the array Keys is in the post data. An I can do a $selectedKeys
> = $_POST('Keys') and walk through and echo out the array elements
> without a problem.
>
> My issues start when I attempt to pass the array of Keys to my
> PostgreSql function with a parameter list of (web_Keys_ integer[],
> web_text_ text, web_user_ text) ................
>
> in my php I do a pg_connect, and then prepare a number of statements
> all of which work but the last one.
>
> it is $return_cde = pg_prepare($conn, "SendKeys", 'select
> web.sendKeys$1, $2, $3)');.
>
> and I try to execute this with
>
> $userKey=$_POST['Keys'];
> $userText=$_POST['msgText'] . " / " . $current_user->display_name;
>
> $return = pg_execute($conn, "SendKeys", array($userKey,
> $userText, $current_user->display_name));
>
> Which returns and error --
>
>
> function.pg-execute
> <http://dispatch.dapage.net/cgi-bin/function.pg-execute>]: Query
> failed: ERROR: array value must start with "{" or dimension
> information in
> */home/xxxxxxx/public_html/enterkey/cgi-bin/xxxxxxcgi.php* on line
> *90*
>
>
> echo "User Keys " . gettype($userKey)."<br>\n"; confirms this
> is a Array .. An I have tried casting $1::int[] in the prepare
> with no luck..
>
> I find a lot of hits on Google searches but no solutions..
>
> Hoping someone here can assist me with this issue..
>
> =============
>
>
From: | Jeff Silberberg <jms(at)dapage(dot)net> |
---|---|
To: | Matthias Ritzkowski <matthiar(at)gmail(dot)com> |
Cc: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: Looking for some assistance / guidance -- |
Date: | 2014-07-29 01:26:28 |
Message-ID: | CALWasQ=1E0R3DD=dawXsoWn5V=Fn+Q6JUvU9ygwA74vH_QP-bQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-php |
Nope ---
http://php.net/manual/en/function.pg-prepare.
If any parameters are used, they are referred to in the query as $1,
$2, etc.
On Mon, Jul 28, 2014 at 9:03 PM, Matthias Ritzkowski <matthiar(at)gmail(dot)com>
wrote:
> Is the array maybe zero-based?
>
> Did you try 'select web.sendKeys$0, $1, $2, $3' ....
>
> Regards
> Matthias
>
>
> On 7/28/14, 8:45 PM, Jeff Silberberg wrote:
>
> Good evening --
>
> I have a Wordpress / HTML form that includes <select size="5" multiple
> name=Keys[]"....>
>
> The form calls a PHP CGI program and if I set it to phpinfo() I see that
> the array Keys is in the post data. An I can do a $selectedKeys =
> $_POST('Keys') and walk through and echo out the array elements without a
> problem.
>
> My issues start when I attempt to pass the array of Keys to my PostgreSql
> function with a parameter list of (web_Keys_ integer[], web_text_ text,
> web_user_ text) ................
>
> in my php I do a pg_connect, and then prepare a number of statements all
> of which work but the last one.
>
> it is $return_cde = pg_prepare($conn, "SendKeys", 'select
> web.sendKeys$1, $2, $3)');.
>
> and I try to execute this with
>
> $userKey=$_POST['Keys'];
> $userText=$_POST['msgText'] . " / " . $current_user->display_name;
>
> $return = pg_execute($conn, "SendKeys", array($userKey, $userText,
> $current_user->display_name));
>
> Which returns and error --
> function.pg-execute
> <http://dispatch.dapage.net/cgi-bin/function.pg-execute>]: Query failed:
> ERROR: array value must start with "{" or dimension information in
> */home/xxxxxxx/public_html/enterkey/cgi-bin/xxxxxxcgi.php* on line *90*
>
> echo "User Keys " . gettype($userKey)."<br>\n"; confirms this is a
> Array .. An I have tried casting $1::int[] in the prepare with no
> luck..
>
> I find a lot of hits on Google searches but no solutions..
>
> Hoping someone here can assist me with this issue..
>
> =============
>
>
>
>
From: | Michael Wallner <mike(at)php(dot)net> |
---|---|
To: | Jeff Silberberg <jms(at)dapage(dot)net>, pgsql-php(at)postgresql(dot)org |
Subject: | Re: Looking for some assistance / guidance -- |
Date: | 2014-07-29 09:02:33 |
Message-ID: | 53D76329.9080309@php.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-php |
On 29/07/14 02:45, Jeff Silberberg wrote:
> echo "User Keys " . gettype($userKey)."<br>\n"; confirms this is
> a Array .. An I have tried casting $1::int[] in the prepare with no
> luck..
>
You have to format it as postgresql array string, so that it can be
parsed as array by the server, e.g: '{1,2,3}'::int[]
So, assuming they keys are integers:
$userKey = "{".implode(",",array_map("intval", $userKey))."}::int[]";
--
Regards,
Mike
From: | Jeff Silberberg <jms(at)dapage(dot)net> |
---|---|
To: | Michael Wallner <mike(at)php(dot)net> |
Cc: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: Looking for some assistance / guidance -- |
Date: | 2014-07-29 13:09:23 |
Message-ID: | CALWasQm2i3isreNgi=+fnt2c0CtueeLirCMyCp+A3EEeGOFf0w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg토토SQL : Postg토토SQL 메일 링리스트 : 2014-07-29 이후 PGSQL-PHP 13:09 |
Michael,
About three am I woke up with this same basic thought in my head..
Will try it latter this morning, but I suspect this is the correct
answer.
Thank you !
On Tue, Jul 29, 2014 at 5:02 AM, Michael Wallner <mike(at)php(dot)net> wrote:
> On 29/07/14 02:45, Jeff Silberberg wrote:
>
> > echo "User Keys " . gettype($userKey)."<br>\n"; confirms this is
> > a Array .. An I have tried casting $1::int[] in the prepare with no
> > luck..
> >
>
> You have to format it as postgresql array string, so that it can be
> parsed as array by the server, e.g: '{1,2,3}'::int[]
>
> So, assuming they keys are integers:
> $userKey = "{".implode(",",array_map("intval", $userKey))."}::int[]";
>
> --
> Regards,
> Mike
>