C传递字符串进行查询,并检查结果是否为空

时间:2015-06-25 10:05:43

标签: mysql c

当使用C连接到数据库时,我需要将一个字符串传递给查询内部,但由于我很长一段时间没有使用C,所以我不知道正确的方法。我试过以下但是没有用。

if (mysql_query(conn, "select * from t1 where c1 = %s and c2 = %s", sptr->name, sptr->desc)) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
}

检查查询是否返回空结果集的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

IIRC,您不能直接在mysql_query()函数中使用格式说明符和相应的参数。

您需要做的是

  1. 分配一个临时缓冲区。
  2. 使用snprintf()在缓冲区中打印查询命令
  3. 以缓冲区作为第二个参数调用mysql_query()