Получение списка полей таблицы

Чтобы получить список полей таблицы, необходимо воспользоваться командой PHP - mysql_list_fields.

Синтаксис mysql_list_fields

ресурс mysql_list_fields ( строка database_name, строка table_name [, ресурс link_identifier])

Эта функция возвращает список полей в таблице table_name в базе данных database_name. Выбирать базу данных нам было необязательно, но это пригодится позже. Результат работы этой функции - переменная типа ресурс - ссылка, которую можно использовать для получения информации о полях таблицы, включая их названия, типы и флаги.

Функция mysql_field_name возвращает имя поля, полученного в результате выполнения запроса. Функция mysql_field_len возвращает длину поля. Функция mysql_field_type возвращает тип поля, а функция mysql_field_flags возвращает список флагов поля, записанных через пробел. Типы поля могут быть int, real, string, blob и т.д. Флаги могут быть not_null, primary_key, unique_key, blob, auto_increment и т.д.

Синтаксис у всех этих команд одинаков:

строка mysql_field_name ( ресурс result, целое field_offset)строка mysql_field_type ( ресурс result, целое field_offset)строка mysql_field_flags ( ресурс result, целое field_offset)строка mysql_field_len ( ресурс result, целое field_offset)

Здесь result - это идентификатор результата запроса (например, запроса, отправленного функциями mysql_list_fields или mysql_query (о ней будет рассказано позднее)), а field_offset - порядковый номер поля в результате.

То, что возвращают функции типа mysql_list_fields или mysql_query, представляет собой таблицу, а точнее, указатель на нее. Чтобы получить из этой таблицы конкретные значения, нужно задействовать специальные функции, которые построчно читают эту таблицу. К таким функциям и относятся mysql_field_name и т.п. Чтобы перебрать все строки в таблице результата выполнения запроса, нужно знать число строк в этой таблице. Команда mysql_num_rows(ресурс result) возвращает число строк во множестве результатов result.

Чтобы получить список полей таблицы Artifacts (коллекция экспонатов), используем скрипт:

<?$conn = mysql_connect( "localhost","nina","123")or die("Невозможно установить соединение: ". mysql_error());echo "Соединение установлено";mysql_select_db("book");$list_f = mysql_list_fields ( "book","Artifacts",$conn); $n = mysql_num_fields($list_f);for($i=0;$i<$n; $i++){ $type = mysql_field_type($list_f, $i); $name_f = mysql_field_name($list_f,$i); $len = mysql_field_len($list_f, $i); $flags_str = mysql_field_flags ( $list_f, $i);echo "<br>Имя поля: ". $name_f;echo "<br>Тип поля: ". $type;echo "<br>Длина поля: ". $len;echo "<br>Строка флагов поля: ". $flags_str . "<hr>";}?>

В результате должно получиться (если в таблице 2 поля):

Имя поля: idТип поля: intДлина поля: 11Строка флагов поля: not_null primary_key auto_increment_________________________________________________Имя поля: titleТип поля: stringДлина поля: 255Строка флагов поля:







Дата добавления: 2016-03-04; просмотров: 660;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.