Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[INTERFACES] DBD::Pg - question on using LIKE operator with bind variable

1 view
Skip to first unread message

Max Pyziur

unread,
Jul 4, 2011, 9:29:49 AM7/4/11
to
Greetings,

I would like to use a bind variable with a LIKE operator.

An example of the query that I'm trying to use is the following:
SELECT ? , aa.f1, aa.f2, aa.f3, aa.f4 FROM orgs aa WHERE aa.f1 LIKE '%?%'

How do I get the conditional part of the query (WHERE aa.f1 LIKE '%?%') to
accept a bind variable?

Much thanks for your help.

Max Pyziur
p...@brama.com

--
Sent via pgsql-interfaces mailing list (pgsql-in...@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-interfaces

Greg Sabino Mullane

unread,
Jul 5, 2011, 10:31:51 AM7/5/11
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


> I would like to use a bind variable with a LIKE operator.
>
> An example of the query that I'm trying to use is the following:
> SELECT ? , aa.f1, aa.f2, aa.f3, aa.f4 FROM orgs aa WHERE aa.f1 LIKE '%?%'
> How do I get the conditional part of the query (WHERE aa.f1 LIKE '%?%') to
> accept a bind variable?

(What did you try? What did you get?)

It's not clear why you have a question mark in the SELECT clause, but
you can solve the WHERE clause part by making the placeholder cover
the entire condition, rather than try to pass in only part of it
via the arguments. So try this instead:

$SQL = 'SELECT relname FROM pg_class WHERE relname LIKE ?';
$sth = $dbh->prepare($SQL);
$count = $sth->execute('%a%');
print "Count is $count\n";

- --
Greg Sabino Mullane gr...@turnstep.com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201107051030
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAk4TIEIACgkQvJuQZxSWSsgLCQCgtD6CdcTr8mpKeoBzYtaKtPjH
tfgAnA68obgfGN5dcORG4rZfqvejjkkC
=QZaM
-----END PGP SIGNATURE-----

0 new messages