错误是:
mysql_stmt_bind_param(dbstmt, bind);
mysql_stmt_bind_result(dbstmt, bind);
应该 分开, 并且顺序是:
mysql_stmt_bind_param(dbstmt, bind[0]);
mysql_stmt_execute(dbstmt);
mysql_stmt_bind_result(dbstmt, bind[1]);
mysql_stmt_store_result(dbstmt);

解决方案 »

  1.   

    可以好好看看我的一篇短文:http://blog.csdn.net/iihero/article/details/8362269
      

  2.   

    你的博文中c调用api的例子,bind中放入id,也就是call get_t(?)中的问号,obind[1]中存的是call后的值是吧?
    我的程序流程基本一样,照着这个逻辑编完了,还是那个问题,即进不去fetch这部分,看了一下fetch返回的是0,也就是没有数值,这是怎么回事呢?
      

  3.   

    你没有看我在1楼的回复吗? 
    bind param和bind result分开,中间有个execute, bind result之后有个store result.obind[0]存储的是call后的值,哪里有obind[1]????
    bind存储的是输入参数的值
      

  4.   


    额你别激动,我看你1L了也照着那个顺序改的,好吧我表达有点问题,你例子中那个是obind[0]。
    后来又看了一下,发觉少了句相当于你文章里的 bind.length = &id_len;这句,加上就好了,谢谢!