mysql错误,简单问题,高分求助
我在windows平台下调用mysql的api向数据库的一张表里添加记录
表名:t1
字段:f1 (text latin1)
我想将中文编码的字节流以latin形式保存到这个字段.
这是我的sql语句
char * word;
char sql[256];
...
sprintf(sql,insert into t1 values ( '%s ',word)
...
if (mysql_query( myData, sql ))
{
strcpy(err,mysql_error(myData));
}
这段代码大部分情况下运行正常,
但是当word里面的字节出现某些特殊字符的时候,比如说转义字符 '\ '(0x5c),mysql_query会出现错误,如下面的字符串(二进制方式查看):
A4 40 A4 E9 A4 54 C0 5C 00
我的处理办法是将转义,将字符串变成(二进制方式查看)
A4 40 A4 E9 A4 54 C0 5C 5C 00
但是,这个字符串的mysql_query依然出错,不知道是什么原因.请各位大哥帮我分析一下.
请注意:
这些代码语法没有错误,大部分情况下运行是正常的.只是少量的word会出现这个问题.
本人dreameasy,任何问题都是100分起价.
------解决方案--------------------不懂,学习来了,帮顶吧
你能给我一分就不错了,谢谢!
------解决方案--------------------把要进入数据库的东西先用addslashes()函数处理一下,看看。
myInsertOrUpdateData = addslashes(myInsertOrUpdateData);
其实,主要就是处理你要进入数据库的数据。
------解决方案--------------------特殊字符没做处理.