Re: string = any()

Поиск
Список
Период
Сортировка
От Filip Rembiałkowski
Тема Re: string = any()
Дата
Msg-id CAP_rwwmA153GNysoot7VX1dR-5PWcf6BKP=beD1A22VeP2q5Bw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: string = any()  (Andy Colson <andy@squeakycode.net>)
Ответы Re: string = any()  ("David Johnston" <polobo@yahoo.com>)
Список pgsql-general
W dniu 10 stycznia 2012 16:17 użytkownik Andy Colson
<andy@squeakycode.net> napisał:
>> 2012/1/10 Andy Colson<andy@squeakycode.net>:
>>> I am writing PHP where it prepares a statement like:
>>> $sql = 'select * from aTable where id = any($1)';
>>>
>>> then in php I create a string:
>>> $args = "{1,2,3}";
>>>
>>> And run it:
>>>
>>> $q = pg_query_params($db, $sql, $args);

> On 1/10/2012 9:11 AM, Filip Rembiałkowski wrote:
>> maybe try to use ARRAY constructor instead?
>>
>> http://www.postgresql.org/docs/9.0/static/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS

>
> As I mentioned, I cannot get it to work:
>
> clayia=# prepare x as select 'bob' = any($1);
> PREPARE
> Time: 0.665 ms
> clayia=# execute x( 'array[''joe'', ''bob'']' );
> ERROR:  array value must start with "{" or dimension information
> LINE 1: execute x( 'array[''joe'', ''bob'']' );
>

no, I meant array constructor with reserved word ARRAY:

prepare x as select 'bob' = any( ARRAY[$2,$3] );
execute x( 'joe', 'bob' );

and in PHP:
<?php
$names = array( "joe", "bob" );
$placeholders = implode( ",", array_map( function($x){return "?"},
$names ) ); #I love Perl
$sql = "select 'bob' = any( ARRAY[$placeholders] )";
$stmt = $dbh->prepare($sql);
$stmt->execute($names);
?>

В списке pgsql-general по дате отправления:

Предыдущее
От: "David Johnston"
Дата:
Сообщение: Re: (check) constraints on composite type
Следующее
От: Yoann MOREAU
Дата:
Сообщение: Efficient map looking table