Re: [GENERAL] Var substitution in SELECT statements - Mailing list pgsql-interfaces

From Tod McQuillin
Subject Re: [GENERAL] Var substitution in SELECT statements
Date
Msg-id Pine.GSO.4.31.0104242058350.4814-100000@sysadmin
Whole thread Raw
In response to Var substitution in SELECT statements  (Randall Perry <rgp@systame.com>)
List pgsql-interfaces
On Mon, 23 Apr 2001, Randall Perry wrote:

> This works:
> $res  = $conn->exec("select cust, contact, user_name, email from $t where
> user_name = a1a");
>
> This doesn't:
> $c = "a1a";
> $res  = $conn->exec("select cust, contact, user_name, email from $t where
> user_name = $c");
>
> and returns the error:
>     Attribute 'a1a' not found
>
> How do you do var substitution with the Pg module in Perl?

First, I would highly recommend you investigate the perl DBI abd DBD::Pg
modules -- they handle variable placeholders quite efficiently and
correctly.

But for your problem above, surely you must use single quotes around any
string you include as a literal in an SQL query.

$res = $conn->exec("select cust, contact, user_name, email from $t
where user_name = '$c'");
-- 
Tod McQuillin




pgsql-interfaces by date:

Previous
From: "Horst Herb"
Date:
Subject: MS Windows libpq++
Next
From: Alexey Nalbat
Date:
Subject: can external C-function get multiple rows?