关于c调用mysql,update语句的有关问题

关于c调用mysql,update语句的问题
void modify_qingdans_data()
{
int choise;
char modify_col[20],modify_col_where[20],modify_values[20],modify_where_values[20];
printf("该表中有一下属性:zhujiao(char(20)),zhujiao_quhao(char(20)),beijiao(char(20)),beijiao_quhao(char(20)),start_time(date),end_time(char(6)),start_shike((char(20))),end_shike(char(6))\n");

printf("修改语句:update table set 列=value where 列=value\n\n");
printf("请输入你要修改的列的列名(请从以上选择)    :");
scanf("%s",modify_col);
printf("请输入你要修改的列的目标(请从以上选择)    :");
scanf("%s",modify_values);
printf("请输入你要修改的列的条件列名(请从以上选择):");
scanf("%s",modify_col_where);
printf("请输入你要修改的列的条件    (请从以上选择):");
scanf("%s",modify_where_values);
sprintf(stderr,"update qingdans set '%s'='%s' where '%s'='%s'",modify_col,modify_values,modify_col_where,modify_where_values);
if(mysql_real_query(&mysql,stderr,strlen(stderr)))//此处总是执行成功,没办法修改数据的数据
{
mysql_errno(mysql);
printf("sdfasdf");
getch();
}
else
{
do
{
printf("\n\n\t\t\t0.返回主菜单!\n\n\n");
printf("\t\t\t1.继续输入!\n\n\n");
printf("\t\t\t 请选择:");
scanf("%d",&choise);
}while(0!=choise&&1!=choise);
if(1==choise)
{
 modify_qingdans_data();
}
}
}

------解决方案--------------------
楼主是什么问题?sql语句总是能执行成功,但就是数据没有更新?先确认一下你的条件列和条件判断是否满足吧,可以执行update之前先用select把满足条件的列选出来看看到底有没有
------解决方案--------------------
把生成的SQL放到数据库里直接执行一下.
------解决方案--------------------
mysql语句执行成功的含义是SQL语句没有语法错误,不是语句执行有效果
------解决方案--------------------
返回结果不为0那是语句没有执行成功啊,放到mysql运行成功那说明语句又是没有问题的。环境、链接方面有问题吗?返回结果是什么?

如果查询成功,函数返回零。如果发生一个错误,函数返回非零。出错的代码及原因如下所示:
CR_COMMANDS_OUT_OF_SYNC 命令以一个不适当的次序被执行。
CR_SERVER_GONE_ERROR MySQL服务器关闭了。
CR_SERVER_LOST 对服务器的连接在查询期间失去。
CR_UNKNOWN_ERROR 发生一个未知的错误。