Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
32.8. Списки потоков записи на сервере
Очень часто программистам необходимо оценить ситуацию и с учетом полученной оценки выдать тот или иной результат либо просто совершить те или иные действия. Под оценкой действующей ситуаций понимается возможность распознать базы данных, полей в этих базах данных и таблиц соответственно на работающем сервере. Эту задачу решают функции, описанные ниже:
• mysql_list_dbs(),
• mysql__list_fields(),
• mysql_list_tables().
Функция mysql_list_dbs() позволяет получить список всех доступных баз данных на MySQL-сервере. Чтобы задать параметры данной функции и получить необходимый результат, достаточно указать только идентификатор связи. Рассмотрим синтаксис функции
int mysql_list_dbs( [int link_identifier] )
Функция mysql_list_dbs() позволяет возвратить указатель результата, содержащий доступные данные на сервере MySQL. Чтобы получить промежуточный результат указателя, необходимо воспользоваться функцией mysql_tablename().
$link=mysql_connect ( 'localhost' , 'myname', 'secret');
$db_list = mysql_list_dbs ($link);
while($row = mysql_fetch_object ($db_list) ) {
echo $row->Database."n";
}
Результат работы данного скрипта будет
database1
database2
database3
Данный код также работает с функцией mysql_fetch_row() и другими ранее упомянутыми функциями.
Функция mysql_list_fields() позволяет получать список полей результата. Ее синтаксис:
int mysql_list_fields (string database_name, string table_name [, int link_identifier] )
Функция mysql_list_fields() имеет информацию относительно заданного параметра table_name.
Функция возвращает положительное целое число. В случае возникновения ошибки функция возвращает —1. Строка, описывающая ошибку, будет помещена в переменную $phperrmsg даже в случае вызова функции со знаком @ (@mysql()) эта ошибка будет также распечатана.
Рассмотрим пример:
$link = mysql_connect('localhost', 'myname', 'secret');
$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);
for (Si = 0; Si < $columns; Si++) {
echo mysql_field_name ($fields, Si) . "n";
}
Результатом работы данного скрипта будут следующие строки:
field1
field2
field3
Чтобы получить название таблицы, необходимо воспользоваться функцией mysql_list_table(). Ее синтаксис:
string mysql_field_table (int result, int field_offset)
Функция возвращает строку с именем таблицы.
Описанные функции: mysql_list_dbs(), mysql_list_fields(), mysql_list_table() работают в PHP 3 и PHP 4.