Программирование >>  Создание клиентов mysql 

1 ... 111 112 113 [ 114 ] 115 116 117 ... 201


Применение функции mysql real connecM) демонстрируется во многих примерах данной главы.

mysql realjescape string()

Эта функция вставляет в строку символы, отменяющие специальное назначение содержащихся в ней управляющих символов:

ulong mysql real escape string ( MYSQL *mysql, char *to, const char *from, ulong length)

Функция извлекает строку из аргумента om и помещает ее преобразованную версию в аргумент to. Преобразование осуществляется с учетом используемого набора символов. Функция возвращает количество символов в полученной строке.

Аргумент to должен указывать на массив, в котором уместится преобразованная строка. Худший случай - это когда придется защищать от интерпретации каждый символ. Кроме того, добавляется еще и символ конца строки, поэтому к удвоенному размеру исходной строки нужно еще добавить единицу.

В листинге 15.12 функция mysql real escape string() читает аргументы командной строки и заносит их в преобразованном виде в таблицу tax.

#include <stdio.h> tinclude <mysql/mysql.h>

int main(int argc, char *argv[])

MYSQL *mysql; char *query; char state[1024]; char rate [1024]; char taxshipping;

mysql = mysql init(NULL);

mysql real connect(mysql, localhost , freetrade , freetrade , 0, NULL, 0);

if (argc != 4) {

fprintf(stderr, Wrong number of arguments!\n ); exit();

mysql real escape string(mysql, state,

argv[l], strlen(argv[l]));

** Извлечение аргументов командной строки.





mysql real escapG string(mysql, rate,

argv[2], strlen(argv[2]));

taxshipping = argv[3][0];

query = (char *)my malloc (4096, 0) ;

sprintf(query, INSERT INTO tax VALUES(%s, %s, %

state, rate, taxshipping);

my.5ql query (mysql, query) ; my f ree(query, 0); mysql close(mysql);



mysqljrowJellO

Эта функция возвращает смещение последней записи, извлеченной из набора с помощью функции ql fetch row {):

MYSQL ROWS sql ro MYSQL RES *res)

mysqijselectjdbl)

Эта функция задает стандартную базу данных: int mysql select db(MYSQL *mysql, const char *db) В случае успешного завершения возвращается нуль.

mysqljsend query()

Эта функция посылает серверу запрос, но не ждет получения его результатов:

in query (MYSQL* mysql, const char* query nt length)

Результаты можно извлечь позднее с помощью функции mysql read query result {). С помощью этих двух функций можно организовать фоновую обработку длинных запросов, что позволит программе оперативнее реагировать на действия пользователя. Соответствующий пример приводился в листинге 15.11.

mysqljshutdownQ

Эта функция останавливает работу сервера: int mysql shutdown(MYSQL *mysql)

mysql ssl cipher()

Эта функция возвращает SSL-шифр, используемый в указанном соединении: char * mysql ssl cipher(MYSQL *mysql)

mysql ssl clear()

Эта функция освобождает память, выделенную функцией int *mysql)

mysqIjssljsetO

Эта функция подготавливает клиентскую программу к шифрованию соединения по протоколу SSL (Secure Sockets Layer - протокол защищенных сонетов):



1 ... 111 112 113 [ 114 ] 115 116 117 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика