Sql select ids

Материал из Eludia
Перейти к: навигация, поиск

Описание

Принимает на вход SQL-запрос с единственным полем (аналогично sql_select_col) и выдаёт список выбранных непустых значений, сконкатенированный через запятую. Если выборка пуста, возвращает значение "-1". Таким образом, возвращаемое значение всегда пригодно для подстановки в SQL-предикат " id_some_table IN (...) ".

В списочном контексте в качестве 2-го результата в зависимости от СУБД возвращает либо тот же самый список (MySQL), либо строку SQL с подставленными параметрами (все прочие). Это значение также годится для подстановки в IN, причём лучше подходит в плане эффективности. Однако оно, естественно, не может использоваться в качестве списка как такового (например, анализироваться split) и не подходит для унаследованного кода.

В настоящее время рекомендуется использовать функцию sql как для получения списков id, так и для их подстановки в сложные запросы.

Sql.jpg Это одна из многочисленных функций API Eludia.pm для работы с БД. Как правило, её результат может быть получен с использованием процедуры sql. При этом объём программного кода сокращается, иногда — в несколько раз.

Синопсис (Perl 5)

my $ids = sql_select_ids ('SELECT id_type FROM users_types WHERE id_user = ?', $_USER -> {id});
my ($ids, $raw_sql) = sql_select_ids ('SELECT id_type FROM users_types WHERE id_user = ?', $_USER -> {id});
Php.jpg На этой странице упоминается Eludia.php: порт Eludia.pm на PHP. Данный проект был доведён до рабочей бета-версии, однако впоследствии заморожен и в настоящее время не поддерживается.

Синопсис (PHP)

$ids = sql_select_ids ('SELECT id_type FROM users_types WHERE id_user = ?', array ($_USER -> {id}));
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты