Описание функции dbx-query
dbx_query
(PHP 4 >= 4.0.6)
dbx_query - посылает запрос и получает все результаты (если имеются).
Описание
object dbx_query (object link_identifier, string sql_statement [, long flags])
dbx_query() возвращает объект или 1 при успехе и 0 при неудаче. Результирующий объект возвращается только в том случае, если запрос, заданный в sql_statement , производит результирующий набор.
Параметр 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 -
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() .