Spec-Zone .ru
спецификации, руководства, описания, API

22.8.7.34. mysql_hex_string()

unsigned long mysql_hex_string(char *to, const char *from, unsigned long length)

Описание

Эта функция используется, чтобы создать юридическую строку SQL, которую можно использовать в SQL-операторе. См. Раздел 9.1.1, "Строковые литералы".

Строка в from кодируется к шестнадцатеричному формату, с каждым символом, закодированным как две шестнадцатеричных цифры. Результат помещается в to и завершающийся нулевой байт добавляется.

Строка, которой указывают from должен быть length байты долго. Следует выделить to буфер, чтобы быть, по крайней мере, length*2+1 байты долго. Когда mysql_hex_string() возвраты, содержание to завершенная нулем строка. Возвращаемое значение является длиной закодированной строки, не включая завершающийся нулевой символ.

Возвращаемое значение может быть помещено в SQL-оператор, используя также 0xvalue или X'value' формат. Однако, возвращаемое значение не включает 0x или X'...'. Вызывающая сторона должна предоставить, какой бы ни из тех требуется.

Пример

char query[1000],*end;end = strmov(query,"INSERT INTO test_table values(");end = strmov(end,"0x");end += mysql_hex_string(end,"What is this",12);end = strmov(end,",0x");end += mysql_hex_string(end,"binary data: \0\r\n",16);*end++ = ')';if (mysql_real_query(&mysql,query,(unsigned int) (end - query))){   fprintf(stderr, "Failed to insert row, Error: %s\n",           mysql_error(&mysql));}

strmov() функция, используемая в примере, включается в libmysqlclient библиотека и работы как strcpy() но возвращает указатель на завершающийся нуль первого параметра.

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

Длина значения, помещенного в to, не включая завершающийся нулевой символ.

Ошибки

Ни один.