П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 186536 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 88227 раз(а).

Учебник HTML.
Просмотров 79957 раз(а).

Руководство по PHP5.
Просмотров 50394 раз(а).

Хостинг через призму DNS.
Просмотров 58211 раз(а).

Подборка текстов стандартных документов.
Просмотров 49354 раз(а).

Учебник PHP - Самоучитель
Просмотров 56221 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 57638 раз(а).

Внешние атаки...
Просмотров 47037 раз(а).

Учебник PHP.
Просмотров 41243 раз(а).

SSI в примерах.
Просмотров 31586 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





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

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, производит результирующий набор.

Пример 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().


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


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: