  | 
 (PHP 4 >= 4.0.6) 
dbx_query - посылает запрос и получает все результаты (если имеются). 
Описаниеobject dbx_query (object link_identifier, string sql_statement [, long flags]) 
dbx_query() возвращает объект или 1 при успехе и 0 при неудаче. Результирующий объект возвращается только в том случае, если 
запрос, заданный в sql_statement, производит результирующий набор. 
Пример 1. Как обрабатывать результирующее значение
<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');
if ( is_object($result) ) {
    // ... здесь обработка, см. детальный пример далее ...
    // сначала печатаются имена полей и типы
    // затем прорисовывается таблица, заполненная возвращёнными значениями полей
}
else if ( $result == 1 ) {
    echo("Query executed successfully, but no result set returned");
}
else {
    exit("Query failed");
}
dbx_close($link);
?> |  
  |   Параметр flags используется для контроля количества возвращаемой информации. Это может быть 
любая комбинация следующих констант с битовой операцией OR (|): - DBX_RESULT_INDEX
 
Всегда установлена, то есть возвращённый объект имеет свойство data,
которое является двухмерным массивом, индексированным цифрами. Например, в выражении 
data[2][3] 2 это количество рядов (или записей), а 3 это количество столбцов 
(или полей). Первый ряд и столбец индексируются с 0. Если DBX_RESULT_ASSOC также специфицирована, возвращённый объект содержит информацию, относящуюся 
также и к DBX_RESULT_INFO, даже если она и не специфицирована.  
- DBX_RESULT_INFO
 Предоставляет информацию о столбцах, такую как имена полей и типы 
полей. - DBX_RESULT_ASSOC
 Делает так, что значения полей с соответствующими именами полей, 
используемыми как ключи, доступны свойству data возвращаемого объекта. 
Ассоциированный результаты являются на самом деле ссылками на численно 
индексированные данные, так что модификация data[0][0] имеет такой эффект, что
data[0]['field_name_for_first_column'] также модифицируется.  
Заметьте, что DBX_RESULT_INDEX используется всегда, независимо от фактического значения параметра
flags. Это означает, что эффективными являются только следующие комбинации:- 
DBX_RESULT_INDEX  DBX_RESULT_INDEX | DBX_RESULT_INFO 
DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC
- по умолчанию, если flags не специфицирован.  
Возвращаемый объект object имеет 4 или 5 свойств, в зависимости от flags:
 - handle
 Правильный дескриптор соединённой БД, и, как таковой, он может 
использоваться в специфичных для модуля функциях (если требуется).
 
$result = dbx_query ($link, "SELECT id FROM table");
mysql_field_len ($result->handle, 0);  |  
 - cols и rows
 
Они содержат количество столбцов (полей) и рядов (записей), соответственно.
 
$result = dbx_query ($link, 'SELECT id FROM table');
echo $result->rows; // количество записей
echo $result->cols; // количество полей  |  
  
- info (по выбору)
 Оно возвращается по выбору только тогда, когда DBX_RESULT_INFO или
DBX_RESULT_ASSOC специфицирована с параметром flags. Это 2-мерный массив,
в котором два именованных ряда (name и type) для получения информации о столбце. 
Пример 2. Перечисляются имя и тип каждого поля
$result = dbx_query ($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);
for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";  
} |    |  
 - data
 
Это свойство содержит фактические результирующие данные, возможно, 
ассоциированные также с именами столбцов, в зависимости от flags.
Если DBX_RESULT_ASSOC установлена, то можно использовать
$result->data[2]["field_name"]. 
Пример 3. Выводится содержимое свойства data в HTML-таблице
$result = dbx_query ($link, 'SELECT id, parentid, description FROM table');
echo "<table>\n";
foreach ( $result->data as $row ) {
    echo "<tr>\n";
    foreach ( $row as $field ) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n"; |    |  
  
Примечание: всегда просматривайте также соответствующую документацию модуля.  
См. также dbx_connect().  |   |