(mysql.info) mysql-hex-string
Info Catalog
(mysql.info) mysql-get-server-version
(mysql.info) c-api-functions
(mysql.info) mysql-info
22.2.3.33 `mysql_hex_string()'
..............................
`unsigned long mysql_hex_string(char *to, const char *from, unsigned
long length)'
*Description*
This function is used to create a legal SQL string that you can use in
an SQL statement. See string-syntax.
The string in `from' is encoded to hexadecimal format, with each
character encoded as two hexadecimal digits. The result is placed in
`to' and a terminating null byte is appended.
The string pointed to by `from' must be `length' bytes long. You must
allocate the `to' buffer to be at least `length*2+1' bytes long. When
`mysql_hex_string()' returns, the contents of `to' is a null-terminated
string. The return value is the length of the encoded string, not
including the terminating null character.
The return value can be placed into an SQL statement using either
`0xVALUE' or `X'VALUE'' format. However, the return value does not
include the `0x' or `X'...''. The caller must supply whichever of those
is desired.
*Example*
char query[1000],*end;
end = strmov(query,"INSERT INTO test_table values(");
end = strmov(end,"0x");
end += mysql_hex_string(end,"What's this",11);
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));
}
The `strmov()' function used in the example is included in the
`mysqlclient' library and works like `strcpy()' but returns a pointer
to the terminating null of the first parameter.
*Return Values*
The length of the value placed into `to', not including the terminating
null character.
*Errors*
None.
Info Catalog
(mysql.info) mysql-get-server-version
(mysql.info) c-api-functions
(mysql.info) mysql-info
automatically generated byinfo2html