From: | martin(at)axe(dot)net(dot)au |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | placeholders |
Date: | 1999-01-06 07:01:35 |
Message-ID: | 199901060704.SAA16837@axe.net.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi,
I am using
- Postrges 6.3.2
- DBI 0.93
- DBD-pg 0.73
- Slackware 3.3 Linux
I am accessing the database using a perl
CGI program.
I need to be able to list records from a
database in various sort orders. The user
needs to be able to select the sort order
using a web form.
The code I am using which works fine is
$sth1 = $dbh->prepare
(q
{
SELECT DISTINCT
catalogid,
productid,
reference,
title,
dateposted,
dateremove,
userlastupdate,
email,
webaddress,
phone,
details,
category
FROM product
WHERE (( catalogid = 'mp')
AND ( category like :1 )
AND ( details like :2 )
AND ( userlastupdate like :3 ))
ORDER BY title DESC
}
);
$counter = 0;
$sth1->execute (("$category\%"),("$keywords\%"), ("$postedby\%"))
or die "$DBI::errstr\n";
while ( (
$catalogid,
$productid,
$reference,
$title,
$dateposted,
$dateremove,
$userlastupdate,
$email,
$webaddress,
$phone,
$details,
$category
) = $sth1->fetchrow() )
{
$counter = $counter + 1;
After this the CGI writes out HTML
for each row read.
I want to be able to change the code so the
field name in the order by clause is variable
eg. instead of
ORDER BY title DESC
I want to say
ORDER BY :4 DESC
and in the execute statement
$sth1->execute (("$category\%"),("$keywords\%"), ("$postedby\%"))
add a fourth variable ("$orderby") which
will be set to title, dateposted or
userlastupdate
However if I use ("$orderby") as the
fourth variable and set $orderby to
title then my trace shows DBI puts
'title' into the SQL SELECT statement
not title and I get an invalid syntax
error. I need to find a way to stop
putting the ' ' around title.
Is there any way I can make the order by
operand a variable ??
Thanks,
Martin Stewart
From | Date | Subject | |
---|---|---|---|
Next Message | Pawel Pierscionek | 1999-01-06 09:50:09 | plpgsql problems |
Previous Message | Jin Hui | 1999-01-06 06:20:31 | Bit Operators |