Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Интерфейсы для MySQL /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Интерфейс C для MySQL - Программирование от RIN.RU
Интерфейс C для MySQL



Описание функций интерфейса C

mysql_affected_rows()
mysql_change_user()
mysql_character_set_name()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_debug()
mysql_drop_db()
mysql_dump_debug_info()
mysql_eof()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_field()
mysql_fetch_field_direct()
mysql_fetch_fields()

mysql_fetch_lengths()
mysql_fetch_row()
mysql_field_count()
mysql_field_seek()
mysql_field_tell()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_init()
mysql_insert_id()
mysql_kill()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()

mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_options()
mysql_ping()
mysql_query()
mysql_real_connect()
mysql_real_escape_string()
mysql_real_query()
mysql_reload()
mysql_row_seek()
mysql_row_tell()
mysql_select_db()
mysql_shutdown()
mysql_stat()
mysql_store_result()
mysql_thread_id()
mysql_use_result()





В приведенных здесь описаниях параметр или возвращаемая величина, обозначенная как NULL, означает NULL в терминах языка программирования C, а не величину NULL в MySQL.


Функции, возвращающие величину, обычно возвращают указатель или целое число. Если не указано иначе, то функции, возвращающие указатель, возвращают величину не-NULL при успешном выполнении или величину NULL, указывающую на ошибку, а функции, возвращающие целое число, возвращают нуль при успешном выполнении или ненулевую величину при возникновении ошибки. Следует учитывать, что термин "ненулевая величина" означает именно это. Если в описании функции не сказано иначе, то не следует пробовать интерпретировать эту величину иначе, чем нуль:


if (result) /* правильно */
... error ...
if (result < 0) /* неправильно */
... error ...
if (result == -1) /* неправильно */
... error ...


Если функция возвращает ошибку, то возможные типы ошибок представлены в ее описании в подраздел Ошибки. Вызвав функцию mysql_errno(), можно узнать, какие именно ошибки произошли. Строковое представление ошибки можно получить, вызывая функцию mysql_error().


mysql_affected_rows()


my_ulonglong mysql_affected_rows(MYSQL *mysql)


Описание


Возвращает количество строк, измененных последней командой UPDATE, удаленных последней командой DELETE или вставленных последней командой INSERT. Может быть вызвана немедленно после mysql_query() для команд UPDATE, DELETE или INSERT. Для команд SELECT mysql_affected_rows() работает аналогично mysql_num_rows().


Возвращаемые значения


Целое число больше нуля равно количеству строк, подвергшихся воздействию
или извлеченных. Нуль указывает, что ни одна из записей не была обновлена
для команды UPDATE, ни одна из строк не совпала с утверждением WHERE в
данном запросе или что ни один запрос еще не был выполнен. Значение -1
показывает, что данный запрос возвратил ошибку или что для запроса SELECT
функция mysql_affected_rows() была вызвана прежде вызова функции
mysql_store_result().


Ошибки
Нет.


Пример


mysql_query(&mysql,"UPDATE products SET cost=cost*1.25 WHERE group=10");
printf("%ld products updated",(long) mysql_affected_rows(&mysql));


Если указывается флаг CLIENT_FOUND_ROWS при подключении к mysqld, то mysql_affected_rows() возвратит количество строк, соответствующих выражению WHERE для команд UPDATE.


Следует отметить, что при использовании команды REPLACE функция mysql_affected_rows() возвратит значение 2, если новая строка заменила старую. Это происходит по той причине, что в данном случае одна строка была внесена и затем дублирующая была удалена.


mysql_change_user()


my_bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)


Описание


Изменяет пользователя и устанавливает базу данных, указанную в аргументе db в качестве текущей по базы данных для соединения, заданного в аргументе mysql. В последующих запросах эта база данных является текущей по умолчанию для табличных ссылок, которые не содержат явного указателя базы данных.


Эта функция была введена в версию MySQL 3.23.3.


Функция mysql_change_user() не выполняется, если подключенный пользователь не может быть аутентифицирован или если он не имеет разрешения на использование этой базы данных. В таком случае данный пользователь и база данных не изменяются.


Параметр db может быть установлен в NULL, если база данных по умолчанию не нужна.


Возвращаемые значения


Нуль при успешном выполнении. Ненулевая величина, если возникла ошибка.


Ошибки


Те же, что и для mysql_real_connect().


CR_COMMANDS_OUT_OF_SYNC

Команды были выполнены в ненадлежащем порядке.

CR_SERVER_GONE_ERROR

Сервер MySQL неожиданно завершил работу.

CR_SERVER_LOST

Соединение с сервером прервалось в процессе данного запроса.

CR_UNKNOWN_ERROR

Произошла неизвестная ошибка.

ER_UNKNOWN_COM_ERROR

Сервер MySQL не обеспечивает выполнение этой команды (возможно, старая версия сервера)

ER_ACCESS_DENIED_ERROR

Пользователь или пароль ошибочны.

ER_BAD_DB_ERROR

Данная база данных не существует.

ER_DBACCESS_DENIED_ERROR

Данный пользователь не имеет прав доступа к этой базе данных.

ER_WRONG_DB_NAME

Имя базы данных было слишком длинным.


Пример



if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
fprintf(stderr, "Failed to change user. Error: %s\n",
mysql_error(&mysql));
}




mysql_character_set_name()


const char *mysql_character_set_name(MYSQL *mysql)


Описание


Возвращает установленную кодировку для текущего подключения.


Возвращаемые значения


Кодировка, установленная по умолчанию.


Ошибки


Нет.


mysql_close()


void mysql_close(MYSQL *mysql)


Описание


Закрывает ранее открытое соединение. Функция mysql_close() также освобождает дескриптор данного соединения, указанный в mysql, если данный дескриптор был выделен автоматически функциями mysql_init() или mysql_connect().


Возвращаемые значения


Нет.


Ошибки


Нет.


mysql_connect()


MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)


Описание


Данная функция не рекомендуется. Вместо нее предпочтительно использовать функцию mysql_real_connect().


mysql_connect() пытается установить соединение с сервером баз данных MySQL , работающим на хосте host. До успешного завершения функции mysql_connect() нельзя выполнять никакие другие функции интерфейса, за исключением mysql_get_client_info().


Значения параметров являются теми же самыми, что и для соответствующих параметров функции mysql_real_connect(), с той разницей, что параметр соединения может быть NULL. В этом случае интерфейс C автоматически выделяет память для структуры соединения и освобождает ее при вызове функции mysql_close(). Недостаток данного подхода состоит в том, что при падении соединения нельзя получить сообщение об ошибке (чтобы получить информацию об ошибке из функций mysql_errno() или mysql_error(), необходимо обеспечить адекватный указатель структуры MYSQL).


Возвращаемые значения


Те же, что и для mysql_real_connect().


Ошибки


Те же, что и для mysql_real_connect().


<<<  НазадВперед  >>>
 1  2  3  4  5  6 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Интерфейс PHP API для MySQL

Интерфейс Perl API для MySQL

Поддержка ODBC в MySQL

Интерфейс C для MySQL (окончание)

Интерфейсы C++ и не только

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь
Лучшие объекты жилой недвижимости в греции по атикризисным ценам