0

我正在编写带有 mysql 数据库连接的 ac 程序,但在创建我的 mysql 查询时遇到了困难......

我想在我的 mysql 查询中给你一个变量整数,但我似乎无法正确...

我当前的查询看起来像这样......

mysql_query(conn, "INSERT INTO markerherkenning (MARKER_ID, DATETIME) values(1, CURRENT_TIME())");

我的 marker_ID 值应该是一个变量值,所以我可以减少我的代码......

我已经使用本指南让我继续前进...... (http://zetcode.com/tutorials/mysqlcapitutorial)

谢谢你的帮助

4

3 回答 3

2

像这样的东西:


sprintf(request, "INSERT INTO markerherkenning (%d, DATETIME) values(1, CURRENT_TIME())", marker_id);

首先,您使用 sprintf(或 snprintf)为您的请求创建一个字符串,然后将其用于 sql 查询。

于 2011-05-09T18:19:59.977 回答
1

如果您需要多次执行此操作,您可能需要使用准备好的语句。这需要更多的工作,但它可以为您带来一些安全性和性能。更不用说您不必一直在字符串和其他类型之间进行转换。

于 2011-05-09T18:42:29.207 回答
0

您必须将 MARKER_ID 转换为字符串,然后将其附加到查询的第一部分,然后再附加其余部分。

char *query = malloc(80);
char num[11];

num = atoi(MARKER_ID);    

strcpy(query, "INSERT INTO markerherkenning (");
strcat(query, num);
strcat(query, ", DATETIME) values(1, CURRENT_TIME())");
于 2011-05-09T18:07:04.640 回答