如何从mysql读取BLOB?

时间:2020-01-17 23:15:37

标签: mysql c image blob

我将图像作为Blob存储到mySQL db中。完全匹配的内容。但是,我似乎无法查询出来。我编写了以下代码,从查询中看到的全部是BLOB中的第一个字符。有办法得到所有这些吗?我觉得我可能走错了路。这在C API中

    string b = "SELECT * FROM " + table_name + " WHERE id < 3;";

    char *astr = &a[0];
    char *bstr = &b[0];

    mysql_query(connect, astr);
    mysql_query(connect, bstr);

    MYSQL_RES *query_results = mysql_store_result(connect);
    MYSQL_ROW row;
    unsigned int num_fields;
    unsigned int i;

    num_fields = mysql_num_fields(query_results);
    while ((row = mysql_fetch_row(query_results)))
    {
      unsigned long *lengths;
      lengths = mysql_fetch_lengths(query_results);
      for(i = 0; i < num_fields; i++)
      {
          printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
      }
      printf("\n");
    }

    /* Free results when done */
    mysql_free_result(query_results);

感谢您的宝贵时间。

示例输出:

[1] [�] [F]

第0个输出只是一个id,但是我应该得到类似的东西

?   F        ?A  @@  ??  ?B  ( .... etc

对于第一个输出 和

 F       ?A5C]o @??z<??

第二次

0 个答案:

没有答案