MySQL. Библиотека профессионала - Аткинсон Л
..pdf
|
|
|
|
Типы данных |
333 |
|
Поле |
|
|
|
Хранимая информация |
|
|
|
|
fields |
|
Массив с описаниями полей таблицы |
||
|
|
|
|
результатов |
|
|
MEM_ROOT |
field_alloc |
|
Буфер полей |
|
|
|
|
|
|
|
True при вызове функции |
|
|
my_bool |
reconnect |
|
True, если соединение должно вос |
|||
|
|
|
|
станавливаться в случае разрыва |
|
|
struct |
st_mysql_options |
options |
Различные |
включая установки |
||
|
|
|
|
протокола SSL |
|
|
char |
|
[9] |
|
Случайная строка, посылаемая серве |
||
|
|
|
|
ром при установлении соединения |
||
struct charset_info_st *charset |
Название стандартного набора символов |
|||||
unsigned |
server_language |
Языксервера |
|
|
||
Эта структура описывает |
находящиеся в таблице |
результатов |
запроса |
|||
(табл. 15.2). |
|
|
|
|
|
|
Поле |
|
|
|
Хранимая информация |
|
|
|
|
rows |
|
Число строк в таблице результатов |
||
unsigned |
int fields |
|
Число столбцов в таблице результатов |
|||
|
|
|
|
Записи таблицы |
|
|
MEM_ROOT |
|
|
Резидентный буфер |
|
В этой структуре содержится информация о столбце таблицы (табл. 15.3). В струк туру MYSQL входит массив структур MYSQL_FIELD, описывающих поля таблицы
Клиентские функции 337
"test", О, NULL,
"Failed to connect to database. Error:
exit
Обновление нескольких записей.
"Query failed:
else
titles
Закрытие соединения.
mysql_change_user()
Эта функция меняет пользователя и базу данных текущего сеанса. В случае успеш ного завершения возвращается нуль, иначе — код ошибки (перечислены далее в табл. 15.8). Прототип функции таков:
MYSQL *mysql, const char *user,
const char *passwd, const char *db)
Аргумент — это описание соединения, возвращаемое функцией real_connect Значения аргументов user и password должны соответствовать реальному имени пользователя и паролю в таблицах привилегий. Последний аргу мент является необязательным.
В листинге 15.2 функция не разрывая соединение с сер вером, отменяет какую либо ассоциацию с пользователем или базой данных.
338 Глава Библиотека функций языка С
<stdio.h>
char
MYSQL
Подключение к серверу под видом обычного
It
"test", 0, NULL,
"Failed to connect to database. Error:
Удаление привязки к пользователю без разрыва соединения.
NULL, NULL,
"Failed to change user. Error:
Закрытие соединения.
Эта функция возвращает название стандартного набора символов в данном сеансе:
const char *
Применение функции демонстрируется в листинге 15.3.
Клиентские функции |
339 |
<stdio.h>
char
MYSQL
Подключение к серверу под видом обычного
"test", 0, NULL, 0»
"Failed to connect to database. Error:
exit
Выдача информации о сервере и
set:
Version:
Info:
Version:
Version:
Info:
Safe:
Закрытие соединения.
mysql_close()
Эта функция разрывает соединение с сервером и очищает память, связанную с се ансом:
void *mysql)
Клиентские функции 341
"Query failed:
else
Занесение результатов в буфер. result
Переход на пятнадцатую
raysql_data_seek(result,14);
Выборка записи.
row =
Отображение названия штата.
...
mysql_debug()
Эта функция включает режим отладки:
void char *debug)
Ей требуется передать строку формата наподобие 0, trace либо пустую строку. Во втором случае используется переменная среды MYSQL_DEBUG. Чтобы эта функция была необходимо скомпилировать клиентскую библио теку с включением средств отладки.
ВMySQL применяется библиотека функций отладки Фреда Фиша (Fred Fish).
Оней рассказывается в главе 31, "Расширение возможностейMySQL".
Эта устаревшая функция полностью удаляет указанную базу данных и все ее таблицы:
raysql_drop_db(MYSQL const char
Вместо нее рекомендуется инструкцию DROP DATABASE с помощью функции