Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Получение результатов запроса




Существует множество функций, которые позволяют различными способами вычленять нужные фрагменты из объекта или идентификатора результата. Объект или идентификатор результата — это ключ доступа к возвращенным запросом строкам.

В нашем примере мы подсчитали количество возвращаемых запросом строк и воспользовались функцией mysqli_fetch_assoc().

В случае объектно-ориентированного подхода количество возвращенных строк хранится в элементе num_rows объекта результата. Обратиться к упомянутому элементу можно следующим образом:

$num_results = $result -> num_rows;

При процедурном подходе для получения количества возвращенных строк используется функция mysqli_num_rows(), которой необходимо передать идентификатор результата:

$num_results = mysqli_num_rows($result);

Эта информация весьма полезна, если планируется обрабатывать или отображать результаты. Знание количества строк позволяет организовать цикл по ним:

for ($i = 0; $i < $num_results; $i++)
{
//Обработка результатов
}

В каждой итерации этого цикла происходит вызов $result -> fetch_assoc () (или mysqli_fetch_assoc()) Цикл не будет выполняться при отсутствии возвращенных строк. Именно эта функция извлекает каждую строку из результирующего набора и возвращает ее в виде массива, в котором каждый ключ является именем атрибута, а каждое значение соответствующим значением:

$row = $result ->fetch_assoc();

Либо с использованием процедурного подхода:

$row = mysqli_fetch_assoc ($result);

Имея массив $row, можно пройти по всем полям и должным образом отобразить каждое из них:

echo '<br>ISBN: ';
echo stripslashes ($row['isbn']);

Как упоминалось ранее, stripslashes() вызывается для того, чтобы "подчистить" значение, прежде чем отображать его пользователю.

Существует несколько вариантов получения результата из идентификатора результата. Вместо массива с именованными ключами можно воспользоваться нумерованным массивом, применив mysqli_fetch_row():

$row = $result -> fetch_row();

или, в случае процедурного подхода:

$row = mysqli_fetch_row ($result);

Значение атрибутов бутут храниться в каждом из значений $row[0], $row[1] и так далее. Функция mysqli_fetch_array() позволяет получить строку в виде массива обеих типов.

С помощью функции mysqli_fetch_object() можно тоже выбрать строку для помещения внутрь объекта:

$row = $result -> fetch_object();

или так:

$row = mysqli_fetch_object ($result);

После этого доступ к каждому атрибуту можно получить с помощью

$row -> title, $row -> author и так далее

 

1.18. Реализация страниц доступа к данным базы данных MySQL.

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.004 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал