Новые книги

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.

Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.

Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches». Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino.
Эта книга не просто исследует существующие тенденции и теории – она открывает читателю новый путь к трансформации бизнеса. Ставя на одну ступень потребительский опыт и инновационное лидерство, Брайан Солис подробно объясняет, как повысить эффективность бизнеса и степень вовлеченности потребителей, а также достичь желаемых взаимоотношений между компанией и ее клиентами. В его книге вы найдете ответы на вопросы, почему потребительский опыт имеет столь огромное значение и какое влияние он может оказать на будущее бизнеса в целом. На русском языке публикуется впервые.

ifx_query

Учебник РНР
Назад Вперёд

ifx_query

(PHP 3>= 3.0.3, PHP 4)

ifx_query - отправляет Informix-запрос/query.

Описание

int ifx_query (string query, int link_identifier [, int cursor_type [, mixed blobidarray]])

Возвращает: положительный результирующий идентификатор Informix при успехе или FALSE - при ошибке.

Ресурс "result_id" используется другими функциями для результатов запросов. Устанавливает "affected_rows" для запрашивания функцией ifx_affected_rows().

ifx_query() отправляет запрос текущей активной базе данных на сервере, ассоциированном со специфицированным идентификатором ссылки.

Выполняет запрос query в соединении conn_id. Для запросов "select" объявляется и открывается курсор. Необязательный параметр cursor_type позволяет создать "scroll" и/или "hold"-курсор. Это битовая маска, которая может быть IFX_SCROLL, IFX_HOLD или и то и другое вместе. Не-select запросы выполняются немедленно. IFX_SCROLL и IFX_HOLD являются символическими константами и как таковые не должны заключаться в кавычки. Если вы опустили этот параметр, курсор является нормальным последовательным курсором.

Для любого типа запроса количество задействованных рядов (приблизительное или реальное) сохраняется для запрашивания функцией by ifx_affected_rows().

Если у вас в запросе имеются столбцы BLOB (BYTE или TEXT), вы можете добавить параметр blobidarray, содержащий соответствующие "blob ids", и должны заменить эти столбцы знаком "?" в тексте запроса.

Если содержимое столбца TEXT (или BYTE) позволяет, вы можете также использовать "ifx_textasvarchar(1)" и "ifx_byteasvarchar(1)". Это даст возможность рассматривать столбцы TEXT (или BYTE) точно так, как если бы они были простыми (но long) столбцами VARCHAR для select-запросов, и вам не нужно будет беспокоиться о blob id'ах.

При наличии ifx_textasvarchar(0) или ifx_byteasvarchar(0) (ситуация по умолчанию), select-запросы будут возвращать BLOB-столбцы как blob id'ы (целочисленное значение). Вы можете получить значение blob как строку или файл с помощью blob-функций (см. далее).

См. также ifx_connect().

Пример 1. Показать все ряды таблицы "orders" как таблицу html
ifx_textasvarchar(1);      // использовать "text mode" для blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Can't select orders : %s\n<br>%s<br>\n", ifx_error());
    ifx_errormsg();
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
Пример 2. Вставить некоторые значения в таблицу "catalog"
// создать blob id'ы для byte и text-столбцов
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");
                      // сохранить blob id'ы в массиве blobid
$blobidarray[] = $textid;
$blobidarray[] = $byteid;
                      // запустить запрос
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
  ... ошибка ...
}
                     // освободить result id
ifx_free_result($res_id);

Назад Оглавление Вперёд
ifx_prepare Вверхifx_textasvarchar