|
Программирование >> Создание клиентов mysql
Применение функции 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 - протокол защищенных сонетов):
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |