|
Программирование >> Программный интерфейс приложений
Программы обработки результирующих наборов Описанные в этом разделе функции используются для выборки результатов выполнения запросов, а также предоставления информации о результатах, например, количества измененных строк или метаданных для столбцов результирующего набора. int mysql af fected rows ([int link id]) ; Возвращает количество строк, измененных последним запросом delete, insert, replace ИЛИ update В заданном соединении. Функция mysql af f ected rows () возвращает значение О, если ни одна строка изменена не бьиа, и значение -1, если имела место ошибка. Вызванная после оператора select функция mysql affected rows () возвращает число полученных в результате выборки строк. Хотя обычно для операторов select используется функция mysql num rows (). <?php $link = mysql pconnect ( pit viper.snake.net , paul , secret ) or die ( Невозможно установить соединение ); mysql select db ( samp db ) or die ( Невозможно сделать выбор базы данных ); Squery = INSERT INTO member (last name, first name, expiration) . VALUES(Brown, Marcia, 2002-6-3) ; Sresult = mysql query (Squery) or die ( Запрос не выполнен ); printf ( %d CTpoK%s вставлено\п , mysql affected rows (), mysql affected rows () ==1 ? : s ); ?> int mysql data seek (int result id, int row num); Каждый возвращаемый запросом select результирующий набор содержит специальный курсор, указывающий на строку, которая будет возвращена при следующем вызове функций выборки строк (mysql fetch array() , mysql fetch object() ИЛИ mysql fetch row 0 ). Функция mysql data seek () устанавливает курсор для заданного результирующего набора на заданную строку. Задаваемый номер должен находиться в диапазоне от О до mysql num rows()-1. Функция mysql data seek() возвращает значение True , если задается разрешенный номер строки, и значение False во всех остальных случаях. <?php Slink = mysql pconnect ( pit-viper.snake.net , paul , secret ) or die ( Невозможно установить соединение ); mysql select db ( samp db ) or die ( Невозможно сделать выбор базы данных ); $query = SELECT last name, first name FROM president ; Sresult = mysql query (Squery) or die ( Запрос не выполнен ); # выборка строк в обратном порядке for (Si = mysql num rows (Sresult) - 1; Si >=0; Si-) { if (!mysql data seek (Sresult, Si)) { print ( Невозможно найти строку %d\n , $i); continue; if(!($row = mysql fetch object (Sresult))) continue; printf ( %s %s<BR>\n , Siow->last name, $row->first name); mysql free result (Sresult); ?> array mysql fetch array (int resultid [, int result type ]) ;. Возвращает следующую строку данного результирующего набора в виде массива. Возвращает значение False , если строк больще не осталось. Возвращаемый массив содержит значения, идентифицируемые как по числовым индексам столбцов, так и по ключам имен столбцов. Другими словами, доступ к значению каждого столбца можно получить как по числовому индексу, так и по названию столбца. Регистр символов при написании ассоциативных индексов учитывается, поэтому их следует записывать в том же регистре, что и для имен столбцов в запросе. Предположим, например, что отправлен следующий запрос; SELECT last name, first name FROM president Если строки извлекаются из результирующего набора в массив с именем $row, доступ к его элементам можно получить следующим образом. $ гOW [ О ] Содержит значение столбца las t n ame. $row[l] Содержит значение столбца first name. $row[ last name ] Содержит значение столбца last name. $row [ f irst name ] Содержит значение столбца last name. Названия таблиц с соответствующими столбцами при определении ключей не используются, поэтому при выборе столбцов с одинаковыми именами из разных таблиц может произойти их наложение. Наибольщем приоритетом в этом случае будет обладать столбец, указанный последним в списке выбираемых запросом столбцов. Для доступа к скрытому под таким именем столбцу воспользуйтесь числовым индексом или напищите запрос, создающий псевдоимена для столбцов. Параметр result type может иметь значения mysql assoc (возвращаются значения только по индексам имен), mysql num (возвращаются значения только по числовым индексам) или mysql both (возвращаются значения по индексам обоих типов). Если этот аргумент отсутствует, .его значение по умолчанию устанавливается равным mysql both. <?php Slink = mysql pconnect ( pit-viper.snake.net , paul , secret ) or die ( Невозможно установить соединение ); mysql select db ( samp db ) or die ( Невозможно сделать выбор базы данных ); Squery = SELECT last name, first name FROM president ; Sresult = mysql query (Squery) or die ( Запрос не выполнен ); while (Srow = mysql fetch array (Sresult) { # печать каждого имени дважды, один раз с # помощью числовых индексов, а один раз - # ассоциативных индексов (имен) printf ( %s %s<BR>\n , Srow[Ob SrowU]); printf ( is %s<BR>\n , Srow[ last name ], Srowf first name ]); } mysql free result (Sresult); ?> object mysql fetch field (int result id [, int col num]); Возвращает информацию метаданных о заданном столбце результирующего набора или значение False , если заданный столбец отсутствует. Если параметр colnum пропущен, вызов функции mysql fetch field() приводит К возврату информации о следующих столбцах результирующего набора либо значения False , если столбцов больще не осталось. Значение аргумента col num должно находиться в диапазоне от О до mysql num fields 0-1. Если это значение находится за пределами указанного диапазона, функция mysql f etch f ield () возвращает значение False . Информация возвращается функцией в виде объекта со свойствами, описанными в табл. 3.1. <?php Slink = mysql pconnect ( pit-viper.snake.net , paul , secret ) or die ( Невозможно установить соединение ); mysql select db ( samp db ) or die ( Невозможно сделать выбор базы данных ); Squery = SELECT last name, first name FROM president ; Sresult = mysql query (Squery) or die ( Запрос не выполнен ); # получение метаданных столбца for (Si = 0; Si < mysql num fields (Sresult); Si++) {
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |