Re: [GENERAL] Var substitution in SELECT statements

Поиск
Список
Период
Сортировка
От Tod McQuillin
Тема Re: [GENERAL] Var substitution in SELECT statements
Дата
Msg-id Pine.GSO.4.31.0104242058350.4814-100000@sysadmin
обсуждение исходный текст
Ответ на Var substitution in SELECT statements  (Randall Perry <rgp@systame.com>)
Список 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 по дате отправления:

Предыдущее
От: "Horst Herb"
Дата:
Сообщение: MS Windows libpq++
Следующее
От: Alexey Nalbat
Дата:
Сообщение: can external C-function get multiple rows?