读入二进制文件,
把它当作一个长字符串,
然后进行必要的字符转义
就可以插入数据了如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示: NUL
ASCII 0,你应该用 “\0”(一个反斜线和一个ASCII “0”字符)表示它。
\
ASCII 92,反斜线。需要用 “\\” 表示。
'
ASCII 39,单引号。需要用 “\'” 表示。
"
ASCII 34,双引号。需要用 “\"” 表示。 如果你写 C 代码,你可以使用 C API 函数mysql_real_escape_string() 来为 INSERT 语句转义字符。
把它当作一个长字符串,
然后进行必要的字符转义
就可以插入数据了如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示: NUL
ASCII 0,你应该用 “\0”(一个反斜线和一个ASCII “0”字符)表示它。
\
ASCII 92,反斜线。需要用 “\\” 表示。
'
ASCII 39,单引号。需要用 “\'” 表示。
"
ASCII 34,双引号。需要用 “\"” 表示。 如果你写 C 代码,你可以使用 C API 函数mysql_real_escape_string() 来为 INSERT 语句转义字符。
解决方案 »
- 网页上显示这个Warning是什么意思?
- mysql3.23 导入 mysql5.1 乱码问题
- mysql 编码问题,在线等!
- momery 表,重启MySQL时如何恢复里面的内容
- 如何在把MySql的表信息和字段信息显示到asp.net的页面中?
- MYSQL的容量问题
- mysql数据库文件的后缀名是什么啊
- 求问mysql的navicat导入问题
- sql语句 ,表建好后,添加约束时,怎样返回系统当前时间?
- 求指点:如何连接两个表作股票价格的收益率计算?
- 怎样从mysql数据库中用c语言取得blob字段的值,fetch后,不知道怎样将数值放进文件中?
- 各位大侠,怎么在mysql里插入和获得blob类型的数据阿?
*end++ = '\'';
end += mysql_real_escape_string(&mysql, end,"What's this",11);
*end++ = '\'';
*end++ = ',';
*end++ = '\'';
end += mysql_real_escape_string(&mysql, end,"binary data: \0\r\n",16);
*end++ = '\'';
*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.
if((row=mysql_fetch_row(res))!=NULL)
{
strcpy(buf,row[0]);//不成功,段错误,
//len=sizeof(row[0]); //不成功,值为4
len=mysql_fetch_lengths(res); //不成功,数值太大,100M,
printf("\n the length is %i, len=%i",strlen(buf),len);
//fwrite(/*buf*/ row[0],1,len,fp);
各位大侠,应该怎样取得blob字段的值阿?救命阿!