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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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

sesam_query

(только PHP 3 CVS)

sesam_query - выполняет SESAM SQL-запрос и готовит результат.

Описание

string sesam_query (string query [, bool scrollable])

Возвращает  SESAM "result identifier" при успехе, FALSE при ошибке.

Ресурс "result_id" используется другими функциями для запрашивания результатов выполнения query/запроса.

sesam_query() отправляет запрос текущей активной БД на сервере. Могут выполняться как "immediate" SQL-операторы, так и "select type" запросы. Если выполняется "immediate" оператор, то курсор не выделяется, а последующий вызов sesam_fetch_row() или sesam_fetch_result() возвращает пустой результат (нулевые столбцы, указывающие end-of-result). Для "select type" операторов выделяются дескриптор результата и (прокручиваемый или последовательный, в зависимости от необязательного булева параметра scrollable) курсор. Если scrollable отсутствует, курсор будет последовательным/sequential.

При использовании "scrollable" курсоров курсор может свободно позиционироваться в результирующем наборе. Для каждого "scrollable" запроса имеются глобальные значения по умолчанию для прокручиваемого/scrolling типа (инициализируется: SESAM_SEEK_NEXT) и смещение прокрутки, которое может быть установлено однократно функцией sesam_seek_row(), либо каждый раз при извлечении ряда функцией sesam_fetch_row().

Для "immediate" операторов количество задействованных рядов сохраняется для запрашивания функцией sesam_affected_rows().

См. также sesam_fetch_row() и sesam_fetch_result().
Пример 1. Показать все ряды таблицы "phone" как html-таблицу
<?php
if (!sesam_connect ("phonedb", "demo", "otto"))
    die ("cannot connect");
$result = sesam_query ("select * from phone");
if (!$result) {
    $err = sesam_diagnostic();
    die ($err["errmsg"]);
}
echo "<TABLE BORDER>\n";
// Добавить шапку title с именами столбцов над результатом:
if ($cols = sesam_field_array ($result)) {
    echo " <TR><TH COLSPAN=".$cols["count"].">Result:</TH></TR>\n";
    echo " <TR>\n";
    for ($col = 0; $col < $cols["count"]; ++$col) {
        $colattr = $cols[$col];
        /* Span the table head over SESAM's "Multiple Fields": */
        if ($colattr["count"] > 1) {
            echo "  <TH COLSPAN=".$colattr["count"].">".$colattr["name"].
                "(1..".$colattr["count"].")</TH>\n";
            $col += $colattr["count"] - 1;
        } else
            echo "  <TH>" . $colattr["name"] . "</TH>\n";
    }
    echo " </TR>\n";
}

do {
    // Извлечь результат блоками максимум по 100 рядов.
    $ok = sesam_fetch_result ($result, 100);
    for ($row=0; $row < $ok["rows"]; ++$row) {
        echo " <TR>\n";
        for ($col = 0; $col < $ok["cols"]; ++$col) {
            if (isset($ok[$col][$row]))
                echo "  <TD>" . $ok[$col][$row] . "</TD>\n";
            } else {
                echo "  <TD>-empty-</TD>\n";
            }
        }
        echo " </TR>\n";
    }
} 
while ($ok["truncated"]) { // пока ещё могут быть данные
    echo "</TABLE>\n";
}
// освободить result id
sesam_free_result($result);
?>


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


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